{"version":3,"file":"index.mjs","names":["globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","globalImportUrl.parse","globalImportUrl.format","Session","version","Session","EventEmitter","Session","version","SipPhone","Session","wrapTimeEvent","Axios","ExperimentalPhone","EventEmitter"],"sources":["../src/url-shim.ts","../src/base.ts","../src/api/access-store-api.ts","../src/api/agent-absence-service-api.ts","../src/api/agent-chat-service-api.ts","../src/api/agent-pause-cause-service-api.ts","../src/api/agent-service-api.ts","../src/api/agent-skill-service-api.ts","../src/api/agent-team-service-api.ts","../src/api/agent-working-conditions-service-api.ts","../src/api/agent-working-schedule-service-api.ts","../src/api/articles-api.ts","../src/api/audit-form-service-api.ts","../src/api/auth-api.ts","../src/api/backend-profile-service-api.ts","../src/api/bucket-service-api.ts","../src/api/calendar-service-api.ts","../src/api/call-service-api.ts","../src/api/case-comments-api.ts","../src/api/case-communications-api.ts","../src/api/case-files-api.ts","../src/api/case-links-api.ts","../src/api/case-timeline-api.ts","../src/api/cases-api.ts","../src/api/cases-chat-catalog-api.ts","../src/api/catalog-api.ts","../src/api/catalogs-api.ts","../src/api/classes-api.ts","../src/api/close-reason-groups-api.ts","../src/api/close-reasons-api.ts","../src/api/cognitive-profile-service-api.ts","../src/api/communication-type-service-api.ts","../src/api/config-service-api.ts","../src/api/contact-groups-api.ts","../src/api/contact-linking-service-api.ts","../src/api/contacts-api.ts","../src/api/contacts-chat-catalog-api.ts","../src/api/customers-api.ts","../src/api/devices-api.ts","../src/api/dictionaries-api.ts","../src/api/domains-api.ts","../src/api/dynamic-conditions-api.ts","../src/api/dynamic-groups-api.ts","../src/api/email-profile-service-api.ts","../src/api/emails-api.ts","../src/api/extensions-api.ts","../src/api/ftsservice-api.ts","../src/api/file-policies-service-api.ts","../src/api/file-service-api.ts","../src/api/file-transcript-service-api.ts","../src/api/forecast-calculation-service-api.ts","../src/api/groups-api.ts","../src/api/imclients-api.ts","../src/api/import-template-service-api.ts","../src/api/knowledgebase-search-api.ts","../src/api/ldapapi.ts","../src/api/labels-api.ts","../src/api/list-service-api.ts","../src/api/logger-service-api.ts","../src/api/managers-api.ts","../src/api/media-file-service-api.ts","../src/api/member-service-api.ts","../src/api/messages-service-api.ts","../src/api/oauth2-federation-api.ts","../src/api/outbound-resource-group-service-api.ts","../src/api/outbound-resource-service-api.ts","../src/api/pause-template-service-api.ts","../src/api/permissions-api.ts","../src/api/phones-api.ts","../src/api/presence-api.ts","../src/api/preset-query-service-api.ts","../src/api/priorities-api.ts","../src/api/queue-bucket-service-api.ts","../src/api/queue-hook-service-api.ts","../src/api/queue-resources-service-api.ts","../src/api/queue-service-api.ts","../src/api/queue-skill-service-api.ts","../src/api/quick-replies-service-api.ts","../src/api/region-service-api.ts","../src/api/related-cases-api.ts","../src/api/roles-api.ts","../src/api/routing-chat-plan-service-api.ts","../src/api/routing-outbound-call-service-api.ts","../src/api/routing-schema-service-api.ts","../src/api/routing-variable-service-api.ts","../src/api/slaconditions-api.ts","../src/api/slas-api.ts","../src/api/schema-variables-service-api.ts","../src/api/schema-version-service-api.ts","../src/api/services-api.ts","../src/api/shift-template-service-api.ts","../src/api/skill-service-api.ts","../src/api/sources-api.ts","../src/api/spaces-api.ts","../src/api/status-conditions-api.ts","../src/api/statuses-api.ts","../src/api/system-setting-service-api.ts","../src/api/tags-api.ts","../src/api/team-hook-service-api.ts","../src/api/team-trigger-service-api.ts","../src/api/timeline-api.ts","../src/api/timezones-api.ts","../src/api/trigger-service-api.ts","../src/api/two-factor-authentication-api.ts","../src/api/types-api.ts","../src/api/user-access-tokens-api.ts","../src/api/user-helper-service-api.ts","../src/api/user-settings-api.ts","../src/api/users-api.ts","../src/api/variables-api.ts","../src/api/web-hook-service-api.ts","../src/api/working-condition-service-api.ts","../src/api/working-schedule-service-api.ts","../src/configuration.ts","../src/api/api-system-objects.ts","../src/api/engine-audit-question-type.ts","../src/api/engine-communication-channels.ts","../src/api/engine-email-auth-type.ts","../src/api/engine-history-file-job-history-file-job-action.ts","../src/api/engine-history-file-job-history-file-job-state.ts","../src/api/engine-routing-schema-type.ts","../src/api/engine-system-setting-name.ts","../src/api/engine-team-hook-event.ts","../src/api/engine-trigger-event-type.ts","../src/api/engine-trigger-job-state.ts","../src/api/engine-trigger-object-type.ts","../src/api/engine-trigger-type.ts","../src/api/google-protobuf-null-value.ts","../src/api/logger-action.ts","../src/api/logger-available-system-objects.ts","../src/api/storage-import-source-type.ts","../src/api/storage-provider-type.ts","../src/api/storage-service-type.ts","../src/api/storage-upload-file-channel.ts","../src/api/storage-upload-status-code.ts","../src/api/webitel-cases-case-timeline-event-type.ts","../src/api/webitel-cases-relation-type.ts","../src/api/webitel-cases-source-type.ts","../src/api/webitel-chat-button-request.ts","../src/api/webitel-chat-message-button-request.ts","../src/api/webitel-contacts-access-mode.ts","../src/api/webitel-contacts-group-type.ts","../src/api/webitel-contacts-timeline-event-type.ts","../src/api/webitel-proto-data-import-csvrequest-action.ts","../src/api/webitel-proto-data-type-kind.ts","../src/api/wfm-absence-type.ts","../src/api/wfm-working-schedule-state.ts","../src/log/index.ts","../src/sip/index.ts","../src/sip/webrtc/session.ts","../src/sip/webrtc/index.ts","../src/sip/webrtc2/rtc.ts","../src/sip/webrtc2/session.ts","../src/sip/webrtc2/client.ts","../src/version.ts","../src/socket/errors.ts","../src/socket/task.ts","../src/socket/agent.ts","../src/socket/utils.ts","../src/screen/storage.ts","../src/screen/utils.ts","../src/socket/call.ts","../src/socket/conversation.ts","../src/socket/socket.ts","../src/screen/sender.ts","../src/screen/receiver.ts","../src/socket/screen.ts","../src/socket/client.ts","../src/sip/external/session.ts","../src/sip/external/index.ts"],"sourcesContent":["/**\n * Browser-safe subset of Node's `url` module used by the generated OpenAPI\n * request builders. They only ever `parse()` a relative path, merge a `query`\n * object, drop `search`, then `format()` it back. Implementing that with\n * URLSearchParams keeps the Node `url` builtin out of browser bundles.\n */\n\nexport interface ParsedPath {\n  pathname: string\n  query: Record<string, any>\n  search?: string | null\n}\n\nexport function parse(path: string, _parseQueryString = false): ParsedPath {\n  const queryIndex = path.indexOf('?')\n  if (queryIndex === -1) {\n    return { pathname: path, query: {}, search: null }\n  }\n\n  const pathname = path.slice(0, queryIndex)\n  const search = path.slice(queryIndex)\n  const query: Record<string, string> = {}\n  new URLSearchParams(search).forEach((value, key) => {\n    query[key] = value\n  })\n\n  return { pathname, query, search }\n}\n\nexport function format(urlObj: ParsedPath): string {\n  const params = new URLSearchParams()\n  const query = urlObj.query || {}\n  for (const key of Object.keys(query)) {\n    const value = query[key]\n    if (value === undefined || value === null) {\n      continue\n    }\n    if (Array.isArray(value)) {\n      for (const item of value) {\n        params.append(key, String(item))\n      }\n    } else {\n      params.append(key, String(value))\n    }\n  }\n\n  const queryString = params.toString()\n\n  return queryString ? `${urlObj.pathname}?${queryString}` : urlObj.pathname\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { Configuration } from './configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\n\nexport const BASE_PATH = 'https://dev.webitel.com/api'.replace(/\\/+$/, '')\n\n/**\n *\n * @export\n */\nexport const COLLECTION_FORMATS = {\n  csv: ',',\n  ssv: ' ',\n  tsv: '\\t',\n  pipes: '|',\n}\n\n/**\n *\n * @export\n * @interface RequestArgs\n */\nexport interface RequestArgs {\n  url: string\n  options: any\n}\n\n/**\n *\n * @export\n * @class BaseAPI\n */\nexport class BaseAPI {\n  protected configuration: Configuration | undefined\n\n  constructor(\n    configuration?: Configuration,\n    protected basePath: string = BASE_PATH,\n    protected axios: AxiosInstance = globalAxios\n  ) {\n    if (configuration) {\n      this.configuration = configuration\n      this.basePath = configuration.basePath || this.basePath\n    }\n  }\n}\n\n/**\n *\n * @export\n * @class RequiredError\n * @extends {Error}\n */\nexport class RequiredError extends Error {\n  name: 'RequiredError' = 'RequiredError'\n  constructor(public field: string, msg?: string) {\n    super(msg)\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { ApiAccessStoreToggleDefaultAccessBody } from '../api'\n// @ts-ignore\nimport { ApiGrantAccessRequestV1 } from '../api'\n// @ts-ignore\nimport { ApiListAccessResponseV1 } from '../api'\n// @ts-ignore\nimport { ApiToggleDefaultAccessResponse } from '../api'\n// @ts-ignore\nimport { ApiUpdateAccessResponseV1 } from '../api'\n/**\n * AccessStoreApi - axios parameter creator\n * @export\n */\nexport const AccessStoreApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary default: TODO: indicate objclass=default as a default rights repo\n     * @param {string} objectName display name\n     * @param {string} objectId identifier\n     * @param {Array<string>} [grantor] --- filters ---  [optional] [FROM] each rule owner is any of role(s) id; user -or- role\n     * @param {Array<string>} [grantee] [optional] [TO] subject role(s) id; user -or- role\n     * @param {Array<string>} [granted] [xrwdxrwd] [R]ecord-[b]ased-[A]ccess-[C]ontrol level check(!)\n     * @param {string} [q] [optional] [TO] subject.name ILIKE ?q&#x3D;; user -or- role\n     * @param {Array<string>} [fields] ----- Select Options -------------------------  attributes list\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {number} [size] pagedResultsControl  default: 16\n     * @param {number} [page] default: 1\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listDefaultAccess: async (\n      objectName: string,\n      objectId: string,\n      grantor?: Array<string>,\n      grantee?: Array<string>,\n      granted?: Array<string>,\n      q?: string,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      size?: number,\n      page?: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'objectName' is not null or undefined\n      if (objectName === null || objectName === undefined) {\n        throw new RequiredError(\n          'objectName',\n          'Required parameter objectName was null or undefined when calling listDefaultAccess.'\n        )\n      }\n      // verify required parameter 'objectId' is not null or undefined\n      if (objectId === null || objectId === undefined) {\n        throw new RequiredError(\n          'objectId',\n          'Required parameter objectId was null or undefined when calling listDefaultAccess.'\n        )\n      }\n      const localVarPath = `/acl/{object.name}/{object.id}`\n        .replace(`{${'object.name'}}`, encodeURIComponent(String(objectName)))\n        .replace(`{${'object.id'}}`, encodeURIComponent(String(objectId)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (grantor) {\n        localVarQueryParameter['grantor'] = grantor\n      }\n\n      if (grantee) {\n        localVarQueryParameter['grantee'] = grantee\n      }\n\n      if (granted) {\n        localVarQueryParameter['granted'] = granted\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} objectName display name\n     * @param {string} objectId identifier\n     * @param {Array<string>} [grantor] --- filters ---  [optional] [FROM] each rule owner is any of role(s) id; user -or- role\n     * @param {Array<string>} [grantee] [optional] [TO] subject role(s) id; user -or- role\n     * @param {Array<string>} [granted] [xrwdxrwd] [R]ecord-[b]ased-[A]ccess-[C]ontrol level check(!)\n     * @param {string} [q] [optional] [TO] subject.name ILIKE ?q&#x3D;; user -or- role\n     * @param {Array<string>} [fields] ----- Select Options -------------------------  attributes list\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {number} [size] pagedResultsControl  default: 16\n     * @param {number} [page] default: 1\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listObjectAccess: async (\n      objectName: string,\n      objectId: string,\n      grantor?: Array<string>,\n      grantee?: Array<string>,\n      granted?: Array<string>,\n      q?: string,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      size?: number,\n      page?: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'objectName' is not null or undefined\n      if (objectName === null || objectName === undefined) {\n        throw new RequiredError(\n          'objectName',\n          'Required parameter objectName was null or undefined when calling listObjectAccess.'\n        )\n      }\n      // verify required parameter 'objectId' is not null or undefined\n      if (objectId === null || objectId === undefined) {\n        throw new RequiredError(\n          'objectId',\n          'Required parameter objectId was null or undefined when calling listObjectAccess.'\n        )\n      }\n      const localVarPath = `/{object.name}/{object.id}/acl`\n        .replace(`{${'object.name'}}`, encodeURIComponent(String(objectName)))\n        .replace(`{${'object.id'}}`, encodeURIComponent(String(objectId)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (grantor) {\n        localVarQueryParameter['grantor'] = grantor\n      }\n\n      if (grantee) {\n        localVarQueryParameter['grantee'] = grantee\n      }\n\n      if (granted) {\n        localVarQueryParameter['granted'] = granted\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Same as UpdateAccess except for DEFAULT access control system\n     * @param {string} objectName display name\n     * @param {string} objectId identifier\n     * @param {string} grantor [FOR] creator user/role\n     * @param {ApiAccessStoreToggleDefaultAccessBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    toggleDefaultAccess: async (\n      objectName: string,\n      objectId: string,\n      grantor: string,\n      body: ApiAccessStoreToggleDefaultAccessBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'objectName' is not null or undefined\n      if (objectName === null || objectName === undefined) {\n        throw new RequiredError(\n          'objectName',\n          'Required parameter objectName was null or undefined when calling toggleDefaultAccess.'\n        )\n      }\n      // verify required parameter 'objectId' is not null or undefined\n      if (objectId === null || objectId === undefined) {\n        throw new RequiredError(\n          'objectId',\n          'Required parameter objectId was null or undefined when calling toggleDefaultAccess.'\n        )\n      }\n      // verify required parameter 'grantor' is not null or undefined\n      if (grantor === null || grantor === undefined) {\n        throw new RequiredError(\n          'grantor',\n          'Required parameter grantor was null or undefined when calling toggleDefaultAccess.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling toggleDefaultAccess.'\n        )\n      }\n      const localVarPath = `/acl/{object.name}/{object.id}/grantor/{grantor}`\n        .replace(`{${'object.name'}}`, encodeURIComponent(String(objectName)))\n        .replace(`{${'object.id'}}`, encodeURIComponent(String(objectId)))\n        .replace(`{${'grantor'}}`, encodeURIComponent(String(grantor)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary TODO: replace with GrantAccess API, to become command like GRANT REVOKE ... with empty access rights string\n     * @param {string} objectName display name\n     * @param {string} objectId identifier\n     * @param {Array<ApiGrantAccessRequestV1>} list\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    toggleObjectAccess: async (\n      objectName: string,\n      objectId: string,\n      list: Array<ApiGrantAccessRequestV1>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'objectName' is not null or undefined\n      if (objectName === null || objectName === undefined) {\n        throw new RequiredError(\n          'objectName',\n          'Required parameter objectName was null or undefined when calling toggleObjectAccess.'\n        )\n      }\n      // verify required parameter 'objectId' is not null or undefined\n      if (objectId === null || objectId === undefined) {\n        throw new RequiredError(\n          'objectId',\n          'Required parameter objectId was null or undefined when calling toggleObjectAccess.'\n        )\n      }\n      // verify required parameter 'list' is not null or undefined\n      if (list === null || list === undefined) {\n        throw new RequiredError(\n          'list',\n          'Required parameter list was null or undefined when calling toggleObjectAccess.'\n        )\n      }\n      const localVarPath = `/{object.name}/{object.id}/acl`\n        .replace(`{${'object.name'}}`, encodeURIComponent(String(objectName)))\n        .replace(`{${'object.id'}}`, encodeURIComponent(String(objectId)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof list !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(list !== undefined ? list : {})\n        : list || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * AccessStoreApi - functional programming interface\n * @export\n */\nexport const AccessStoreApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary default: TODO: indicate objclass=default as a default rights repo\n     * @param {string} objectName display name\n     * @param {string} objectId identifier\n     * @param {Array<string>} [grantor] --- filters ---  [optional] [FROM] each rule owner is any of role(s) id; user -or- role\n     * @param {Array<string>} [grantee] [optional] [TO] subject role(s) id; user -or- role\n     * @param {Array<string>} [granted] [xrwdxrwd] [R]ecord-[b]ased-[A]ccess-[C]ontrol level check(!)\n     * @param {string} [q] [optional] [TO] subject.name ILIKE ?q&#x3D;; user -or- role\n     * @param {Array<string>} [fields] ----- Select Options -------------------------  attributes list\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {number} [size] pagedResultsControl  default: 16\n     * @param {number} [page] default: 1\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async listDefaultAccess(\n      objectName: string,\n      objectId: string,\n      grantor?: Array<string>,\n      grantee?: Array<string>,\n      granted?: Array<string>,\n      q?: string,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      size?: number,\n      page?: number,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiListAccessResponseV1>\n    > {\n      const localVarAxiosArgs = await AccessStoreApiAxiosParamCreator(\n        configuration\n      ).listDefaultAccess(\n        objectName,\n        objectId,\n        grantor,\n        grantee,\n        granted,\n        q,\n        fields,\n        sort,\n        size,\n        page,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} objectName display name\n     * @param {string} objectId identifier\n     * @param {Array<string>} [grantor] --- filters ---  [optional] [FROM] each rule owner is any of role(s) id; user -or- role\n     * @param {Array<string>} [grantee] [optional] [TO] subject role(s) id; user -or- role\n     * @param {Array<string>} [granted] [xrwdxrwd] [R]ecord-[b]ased-[A]ccess-[C]ontrol level check(!)\n     * @param {string} [q] [optional] [TO] subject.name ILIKE ?q&#x3D;; user -or- role\n     * @param {Array<string>} [fields] ----- Select Options -------------------------  attributes list\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {number} [size] pagedResultsControl  default: 16\n     * @param {number} [page] default: 1\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async listObjectAccess(\n      objectName: string,\n      objectId: string,\n      grantor?: Array<string>,\n      grantee?: Array<string>,\n      granted?: Array<string>,\n      q?: string,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      size?: number,\n      page?: number,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiListAccessResponseV1>\n    > {\n      const localVarAxiosArgs = await AccessStoreApiAxiosParamCreator(\n        configuration\n      ).listObjectAccess(\n        objectName,\n        objectId,\n        grantor,\n        grantee,\n        granted,\n        q,\n        fields,\n        sort,\n        size,\n        page,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Same as UpdateAccess except for DEFAULT access control system\n     * @param {string} objectName display name\n     * @param {string} objectId identifier\n     * @param {string} grantor [FOR] creator user/role\n     * @param {ApiAccessStoreToggleDefaultAccessBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async toggleDefaultAccess(\n      objectName: string,\n      objectId: string,\n      grantor: string,\n      body: ApiAccessStoreToggleDefaultAccessBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiToggleDefaultAccessResponse>\n    > {\n      const localVarAxiosArgs = await AccessStoreApiAxiosParamCreator(\n        configuration\n      ).toggleDefaultAccess(objectName, objectId, grantor, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary TODO: replace with GrantAccess API, to become command like GRANT REVOKE ... with empty access rights string\n     * @param {string} objectName display name\n     * @param {string} objectId identifier\n     * @param {Array<ApiGrantAccessRequestV1>} list\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async toggleObjectAccess(\n      objectName: string,\n      objectId: string,\n      list: Array<ApiGrantAccessRequestV1>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiUpdateAccessResponseV1>\n    > {\n      const localVarAxiosArgs = await AccessStoreApiAxiosParamCreator(\n        configuration\n      ).toggleObjectAccess(objectName, objectId, list, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * AccessStoreApi - factory interface\n * @export\n */\nexport const AccessStoreApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary default: TODO: indicate objclass=default as a default rights repo\n     * @param {string} objectName display name\n     * @param {string} objectId identifier\n     * @param {Array<string>} [grantor] --- filters ---  [optional] [FROM] each rule owner is any of role(s) id; user -or- role\n     * @param {Array<string>} [grantee] [optional] [TO] subject role(s) id; user -or- role\n     * @param {Array<string>} [granted] [xrwdxrwd] [R]ecord-[b]ased-[A]ccess-[C]ontrol level check(!)\n     * @param {string} [q] [optional] [TO] subject.name ILIKE ?q&#x3D;; user -or- role\n     * @param {Array<string>} [fields] ----- Select Options -------------------------  attributes list\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {number} [size] pagedResultsControl  default: 16\n     * @param {number} [page] default: 1\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listDefaultAccess(\n      objectName: string,\n      objectId: string,\n      grantor?: Array<string>,\n      grantee?: Array<string>,\n      granted?: Array<string>,\n      q?: string,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      size?: number,\n      page?: number,\n      options?: any\n    ): AxiosPromise<ApiListAccessResponseV1> {\n      return AccessStoreApiFp(configuration)\n        .listDefaultAccess(\n          objectName,\n          objectId,\n          grantor,\n          grantee,\n          granted,\n          q,\n          fields,\n          sort,\n          size,\n          page,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} objectName display name\n     * @param {string} objectId identifier\n     * @param {Array<string>} [grantor] --- filters ---  [optional] [FROM] each rule owner is any of role(s) id; user -or- role\n     * @param {Array<string>} [grantee] [optional] [TO] subject role(s) id; user -or- role\n     * @param {Array<string>} [granted] [xrwdxrwd] [R]ecord-[b]ased-[A]ccess-[C]ontrol level check(!)\n     * @param {string} [q] [optional] [TO] subject.name ILIKE ?q&#x3D;; user -or- role\n     * @param {Array<string>} [fields] ----- Select Options -------------------------  attributes list\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {number} [size] pagedResultsControl  default: 16\n     * @param {number} [page] default: 1\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listObjectAccess(\n      objectName: string,\n      objectId: string,\n      grantor?: Array<string>,\n      grantee?: Array<string>,\n      granted?: Array<string>,\n      q?: string,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      size?: number,\n      page?: number,\n      options?: any\n    ): AxiosPromise<ApiListAccessResponseV1> {\n      return AccessStoreApiFp(configuration)\n        .listObjectAccess(\n          objectName,\n          objectId,\n          grantor,\n          grantee,\n          granted,\n          q,\n          fields,\n          sort,\n          size,\n          page,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Same as UpdateAccess except for DEFAULT access control system\n     * @param {string} objectName display name\n     * @param {string} objectId identifier\n     * @param {string} grantor [FOR] creator user/role\n     * @param {ApiAccessStoreToggleDefaultAccessBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    toggleDefaultAccess(\n      objectName: string,\n      objectId: string,\n      grantor: string,\n      body: ApiAccessStoreToggleDefaultAccessBody,\n      options?: any\n    ): AxiosPromise<ApiToggleDefaultAccessResponse> {\n      return AccessStoreApiFp(configuration)\n        .toggleDefaultAccess(objectName, objectId, grantor, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary TODO: replace with GrantAccess API, to become command like GRANT REVOKE ... with empty access rights string\n     * @param {string} objectName display name\n     * @param {string} objectId identifier\n     * @param {Array<ApiGrantAccessRequestV1>} list\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    toggleObjectAccess(\n      objectName: string,\n      objectId: string,\n      list: Array<ApiGrantAccessRequestV1>,\n      options?: any\n    ): AxiosPromise<ApiUpdateAccessResponseV1> {\n      return AccessStoreApiFp(configuration)\n        .toggleObjectAccess(objectName, objectId, list, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * AccessStoreApi - object-oriented interface\n * @export\n * @class AccessStoreApi\n * @extends {BaseAPI}\n */\nexport class AccessStoreApi extends BaseAPI {\n  /**\n   *\n   * @summary default: TODO: indicate objclass=default as a default rights repo\n   * @param {string} objectName display name\n   * @param {string} objectId identifier\n   * @param {Array<string>} [grantor] --- filters ---  [optional] [FROM] each rule owner is any of role(s) id; user -or- role\n   * @param {Array<string>} [grantee] [optional] [TO] subject role(s) id; user -or- role\n   * @param {Array<string>} [granted] [xrwdxrwd] [R]ecord-[b]ased-[A]ccess-[C]ontrol level check(!)\n   * @param {string} [q] [optional] [TO] subject.name ILIKE ?q&#x3D;; user -or- role\n   * @param {Array<string>} [fields] ----- Select Options -------------------------  attributes list\n   * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n   * @param {number} [size] pagedResultsControl  default: 16\n   * @param {number} [page] default: 1\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AccessStoreApi\n   */\n  public listDefaultAccess(\n    objectName: string,\n    objectId: string,\n    grantor?: Array<string>,\n    grantee?: Array<string>,\n    granted?: Array<string>,\n    q?: string,\n    fields?: Array<string>,\n    sort?: Array<string>,\n    size?: number,\n    page?: number,\n    options?: any\n  ) {\n    return AccessStoreApiFp(this.configuration)\n      .listDefaultAccess(\n        objectName,\n        objectId,\n        grantor,\n        grantee,\n        granted,\n        q,\n        fields,\n        sort,\n        size,\n        page,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} objectName display name\n   * @param {string} objectId identifier\n   * @param {Array<string>} [grantor] --- filters ---  [optional] [FROM] each rule owner is any of role(s) id; user -or- role\n   * @param {Array<string>} [grantee] [optional] [TO] subject role(s) id; user -or- role\n   * @param {Array<string>} [granted] [xrwdxrwd] [R]ecord-[b]ased-[A]ccess-[C]ontrol level check(!)\n   * @param {string} [q] [optional] [TO] subject.name ILIKE ?q&#x3D;; user -or- role\n   * @param {Array<string>} [fields] ----- Select Options -------------------------  attributes list\n   * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n   * @param {number} [size] pagedResultsControl  default: 16\n   * @param {number} [page] default: 1\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AccessStoreApi\n   */\n  public listObjectAccess(\n    objectName: string,\n    objectId: string,\n    grantor?: Array<string>,\n    grantee?: Array<string>,\n    granted?: Array<string>,\n    q?: string,\n    fields?: Array<string>,\n    sort?: Array<string>,\n    size?: number,\n    page?: number,\n    options?: any\n  ) {\n    return AccessStoreApiFp(this.configuration)\n      .listObjectAccess(\n        objectName,\n        objectId,\n        grantor,\n        grantee,\n        granted,\n        q,\n        fields,\n        sort,\n        size,\n        page,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Same as UpdateAccess except for DEFAULT access control system\n   * @param {string} objectName display name\n   * @param {string} objectId identifier\n   * @param {string} grantor [FOR] creator user/role\n   * @param {ApiAccessStoreToggleDefaultAccessBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AccessStoreApi\n   */\n  public toggleDefaultAccess(\n    objectName: string,\n    objectId: string,\n    grantor: string,\n    body: ApiAccessStoreToggleDefaultAccessBody,\n    options?: any\n  ) {\n    return AccessStoreApiFp(this.configuration)\n      .toggleDefaultAccess(objectName, objectId, grantor, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary TODO: replace with GrantAccess API, to become command like GRANT REVOKE ... with empty access rights string\n   * @param {string} objectName display name\n   * @param {string} objectId identifier\n   * @param {Array<ApiGrantAccessRequestV1>} list\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AccessStoreApi\n   */\n  public toggleObjectAccess(\n    objectName: string,\n    objectId: string,\n    list: Array<ApiGrantAccessRequestV1>,\n    options?: any\n  ) {\n    return AccessStoreApiFp(this.configuration)\n      .toggleObjectAccess(objectName, objectId, list, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { InlineObject4 } from '../api'\n// @ts-ignore\nimport { InlineObject5 } from '../api'\n// @ts-ignore\nimport { WfmCreateAgentAbsenceResponse } from '../api'\n// @ts-ignore\nimport { WfmCreateAgentsAbsencesRequest } from '../api'\n// @ts-ignore\nimport { WfmCreateAgentsAbsencesResponse } from '../api'\n// @ts-ignore\nimport { WfmDeleteAgentAbsenceResponse } from '../api'\n// @ts-ignore\nimport { WfmReadAgentAbsenceResponse } from '../api'\n// @ts-ignore\nimport { WfmSearchAgentAbsenceResponse } from '../api'\n// @ts-ignore\nimport { WfmSearchAgentsAbsencesResponse } from '../api'\n// @ts-ignore\nimport { WfmUpdateAgentAbsenceResponse } from '../api'\n/**\n * AgentAbsenceServiceApi - axios parameter creator\n * @export\n */\nexport const AgentAbsenceServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Creates one-day-absence for one agent.\n     * @param {string} agentId\n     * @param {InlineObject4} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createAgentAbsence: async (\n      agentId: string,\n      body: InlineObject4,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'agentId' is not null or undefined\n      if (agentId === null || agentId === undefined) {\n        throw new RequiredError(\n          'agentId',\n          'Required parameter agentId was null or undefined when calling createAgentAbsence.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createAgentAbsence.'\n        )\n      }\n      const localVarPath = `/wfm/agents/{agent_id}/absences`.replace(\n        `{${'agent_id'}}`,\n        encodeURIComponent(String(agentId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Creates absences for multiple specified agents.\n     * @param {WfmCreateAgentsAbsencesRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createAgentsAbsences: async (\n      body: WfmCreateAgentsAbsencesRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createAgentsAbsences.'\n        )\n      }\n      const localVarPath = `/wfm/agents/absences`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Deletes agent concrete absence by its id.\n     * @param {string} agentId\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteAgentAbsence: async (\n      agentId: string,\n      id: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'agentId' is not null or undefined\n      if (agentId === null || agentId === undefined) {\n        throw new RequiredError(\n          'agentId',\n          'Required parameter agentId was null or undefined when calling deleteAgentAbsence.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteAgentAbsence.'\n        )\n      }\n      const localVarPath = `/wfm/agents/{agent_id}/absences/{id}`\n        .replace(`{${'agent_id'}}`, encodeURIComponent(String(agentId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Reads one absence per agent by its id.\n     * @param {string} agentId\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readAgentAbsence: async (\n      agentId: string,\n      id: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'agentId' is not null or undefined\n      if (agentId === null || agentId === undefined) {\n        throw new RequiredError(\n          'agentId',\n          'Required parameter agentId was null or undefined when calling readAgentAbsence.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readAgentAbsence.'\n        )\n      }\n      const localVarPath = `/wfm/agents/{agent_id}/absences/{id}`\n        .replace(`{${'agent_id'}}`, encodeURIComponent(String(agentId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Searches agent absences by filters.\n     * @param {string} agentId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [filters]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAgentAbsence: async (\n      agentId: string,\n      page?: number,\n      size?: number,\n      sort?: string,\n      fields?: Array<string>,\n      filters?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'agentId' is not null or undefined\n      if (agentId === null || agentId === undefined) {\n        throw new RequiredError(\n          'agentId',\n          'Required parameter agentId was null or undefined when calling searchAgentAbsence.'\n        )\n      }\n      const localVarPath = `/wfm/agents/{agent_id}/absences`.replace(\n        `{${'agent_id'}}`,\n        encodeURIComponent(String(agentId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (filters) {\n        localVarQueryParameter['filters'] = filters\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Searches absences by filters.\n     * @param {string} [q] Searches by agent name.\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [filters]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAgentsAbsences: async (\n      q?: string,\n      page?: number,\n      size?: number,\n      sort?: string,\n      fields?: Array<string>,\n      filters?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/wfm/agents/absences`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (filters) {\n        localVarQueryParameter['filters'] = filters\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Updates agent concrete absence by its id.\n     * @param {string} agentId\n     * @param {string} itemId\n     * @param {InlineObject5} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateAgentAbsence: async (\n      agentId: string,\n      itemId: string,\n      body: InlineObject5,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'agentId' is not null or undefined\n      if (agentId === null || agentId === undefined) {\n        throw new RequiredError(\n          'agentId',\n          'Required parameter agentId was null or undefined when calling updateAgentAbsence.'\n        )\n      }\n      // verify required parameter 'itemId' is not null or undefined\n      if (itemId === null || itemId === undefined) {\n        throw new RequiredError(\n          'itemId',\n          'Required parameter itemId was null or undefined when calling updateAgentAbsence.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateAgentAbsence.'\n        )\n      }\n      const localVarPath = `/wfm/agents/{agent_id}/absences/{item.id}`\n        .replace(`{${'agent_id'}}`, encodeURIComponent(String(agentId)))\n        .replace(`{${'item.id'}}`, encodeURIComponent(String(itemId)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * AgentAbsenceServiceApi - functional programming interface\n * @export\n */\nexport const AgentAbsenceServiceApiFp = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Creates one-day-absence for one agent.\n     * @param {string} agentId\n     * @param {InlineObject4} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createAgentAbsence(\n      agentId: string,\n      body: InlineObject4,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmCreateAgentAbsenceResponse>\n    > {\n      const localVarAxiosArgs = await AgentAbsenceServiceApiAxiosParamCreator(\n        configuration\n      ).createAgentAbsence(agentId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Creates absences for multiple specified agents.\n     * @param {WfmCreateAgentsAbsencesRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createAgentsAbsences(\n      body: WfmCreateAgentsAbsencesRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmCreateAgentsAbsencesResponse>\n    > {\n      const localVarAxiosArgs = await AgentAbsenceServiceApiAxiosParamCreator(\n        configuration\n      ).createAgentsAbsences(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Deletes agent concrete absence by its id.\n     * @param {string} agentId\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteAgentAbsence(\n      agentId: string,\n      id: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmDeleteAgentAbsenceResponse>\n    > {\n      const localVarAxiosArgs = await AgentAbsenceServiceApiAxiosParamCreator(\n        configuration\n      ).deleteAgentAbsence(agentId, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Reads one absence per agent by its id.\n     * @param {string} agentId\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readAgentAbsence(\n      agentId: string,\n      id: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmReadAgentAbsenceResponse>\n    > {\n      const localVarAxiosArgs = await AgentAbsenceServiceApiAxiosParamCreator(\n        configuration\n      ).readAgentAbsence(agentId, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Searches agent absences by filters.\n     * @param {string} agentId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [filters]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchAgentAbsence(\n      agentId: string,\n      page?: number,\n      size?: number,\n      sort?: string,\n      fields?: Array<string>,\n      filters?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmSearchAgentAbsenceResponse>\n    > {\n      const localVarAxiosArgs = await AgentAbsenceServiceApiAxiosParamCreator(\n        configuration\n      ).searchAgentAbsence(agentId, page, size, sort, fields, filters, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Searches absences by filters.\n     * @param {string} [q] Searches by agent name.\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [filters]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchAgentsAbsences(\n      q?: string,\n      page?: number,\n      size?: number,\n      sort?: string,\n      fields?: Array<string>,\n      filters?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmSearchAgentsAbsencesResponse>\n    > {\n      const localVarAxiosArgs = await AgentAbsenceServiceApiAxiosParamCreator(\n        configuration\n      ).searchAgentsAbsences(q, page, size, sort, fields, filters, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Updates agent concrete absence by its id.\n     * @param {string} agentId\n     * @param {string} itemId\n     * @param {InlineObject5} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateAgentAbsence(\n      agentId: string,\n      itemId: string,\n      body: InlineObject5,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmUpdateAgentAbsenceResponse>\n    > {\n      const localVarAxiosArgs = await AgentAbsenceServiceApiAxiosParamCreator(\n        configuration\n      ).updateAgentAbsence(agentId, itemId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * AgentAbsenceServiceApi - factory interface\n * @export\n */\nexport const AgentAbsenceServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Creates one-day-absence for one agent.\n     * @param {string} agentId\n     * @param {InlineObject4} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createAgentAbsence(\n      agentId: string,\n      body: InlineObject4,\n      options?: any\n    ): AxiosPromise<WfmCreateAgentAbsenceResponse> {\n      return AgentAbsenceServiceApiFp(configuration)\n        .createAgentAbsence(agentId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Creates absences for multiple specified agents.\n     * @param {WfmCreateAgentsAbsencesRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createAgentsAbsences(\n      body: WfmCreateAgentsAbsencesRequest,\n      options?: any\n    ): AxiosPromise<WfmCreateAgentsAbsencesResponse> {\n      return AgentAbsenceServiceApiFp(configuration)\n        .createAgentsAbsences(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Deletes agent concrete absence by its id.\n     * @param {string} agentId\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteAgentAbsence(\n      agentId: string,\n      id: string,\n      options?: any\n    ): AxiosPromise<WfmDeleteAgentAbsenceResponse> {\n      return AgentAbsenceServiceApiFp(configuration)\n        .deleteAgentAbsence(agentId, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Reads one absence per agent by its id.\n     * @param {string} agentId\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readAgentAbsence(\n      agentId: string,\n      id: string,\n      options?: any\n    ): AxiosPromise<WfmReadAgentAbsenceResponse> {\n      return AgentAbsenceServiceApiFp(configuration)\n        .readAgentAbsence(agentId, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Searches agent absences by filters.\n     * @param {string} agentId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [filters]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAgentAbsence(\n      agentId: string,\n      page?: number,\n      size?: number,\n      sort?: string,\n      fields?: Array<string>,\n      filters?: Array<string>,\n      options?: any\n    ): AxiosPromise<WfmSearchAgentAbsenceResponse> {\n      return AgentAbsenceServiceApiFp(configuration)\n        .searchAgentAbsence(agentId, page, size, sort, fields, filters, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Searches absences by filters.\n     * @param {string} [q] Searches by agent name.\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [filters]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAgentsAbsences(\n      q?: string,\n      page?: number,\n      size?: number,\n      sort?: string,\n      fields?: Array<string>,\n      filters?: Array<string>,\n      options?: any\n    ): AxiosPromise<WfmSearchAgentsAbsencesResponse> {\n      return AgentAbsenceServiceApiFp(configuration)\n        .searchAgentsAbsences(q, page, size, sort, fields, filters, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Updates agent concrete absence by its id.\n     * @param {string} agentId\n     * @param {string} itemId\n     * @param {InlineObject5} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateAgentAbsence(\n      agentId: string,\n      itemId: string,\n      body: InlineObject5,\n      options?: any\n    ): AxiosPromise<WfmUpdateAgentAbsenceResponse> {\n      return AgentAbsenceServiceApiFp(configuration)\n        .updateAgentAbsence(agentId, itemId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * AgentAbsenceServiceApi - object-oriented interface\n * @export\n * @class AgentAbsenceServiceApi\n * @extends {BaseAPI}\n */\nexport class AgentAbsenceServiceApi extends BaseAPI {\n  /**\n   *\n   * @summary Creates one-day-absence for one agent.\n   * @param {string} agentId\n   * @param {InlineObject4} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentAbsenceServiceApi\n   */\n  public createAgentAbsence(\n    agentId: string,\n    body: InlineObject4,\n    options?: any\n  ) {\n    return AgentAbsenceServiceApiFp(this.configuration)\n      .createAgentAbsence(agentId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Creates absences for multiple specified agents.\n   * @param {WfmCreateAgentsAbsencesRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentAbsenceServiceApi\n   */\n  public createAgentsAbsences(\n    body: WfmCreateAgentsAbsencesRequest,\n    options?: any\n  ) {\n    return AgentAbsenceServiceApiFp(this.configuration)\n      .createAgentsAbsences(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Deletes agent concrete absence by its id.\n   * @param {string} agentId\n   * @param {string} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentAbsenceServiceApi\n   */\n  public deleteAgentAbsence(agentId: string, id: string, options?: any) {\n    return AgentAbsenceServiceApiFp(this.configuration)\n      .deleteAgentAbsence(agentId, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Reads one absence per agent by its id.\n   * @param {string} agentId\n   * @param {string} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentAbsenceServiceApi\n   */\n  public readAgentAbsence(agentId: string, id: string, options?: any) {\n    return AgentAbsenceServiceApiFp(this.configuration)\n      .readAgentAbsence(agentId, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Searches agent absences by filters.\n   * @param {string} agentId\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<string>} [filters]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentAbsenceServiceApi\n   */\n  public searchAgentAbsence(\n    agentId: string,\n    page?: number,\n    size?: number,\n    sort?: string,\n    fields?: Array<string>,\n    filters?: Array<string>,\n    options?: any\n  ) {\n    return AgentAbsenceServiceApiFp(this.configuration)\n      .searchAgentAbsence(agentId, page, size, sort, fields, filters, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Searches absences by filters.\n   * @param {string} [q] Searches by agent name.\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<string>} [filters]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentAbsenceServiceApi\n   */\n  public searchAgentsAbsences(\n    q?: string,\n    page?: number,\n    size?: number,\n    sort?: string,\n    fields?: Array<string>,\n    filters?: Array<string>,\n    options?: any\n  ) {\n    return AgentAbsenceServiceApiFp(this.configuration)\n      .searchAgentsAbsences(q, page, size, sort, fields, filters, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Updates agent concrete absence by its id.\n   * @param {string} agentId\n   * @param {string} itemId\n   * @param {InlineObject5} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentAbsenceServiceApi\n   */\n  public updateAgentAbsence(\n    agentId: string,\n    itemId: string,\n    body: InlineObject5,\n    options?: any\n  ) {\n    return AgentAbsenceServiceApiFp(this.configuration)\n      .updateAgentAbsence(agentId, itemId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { WebitelChatGetAgentChatsResponse } from '../api'\n/**\n * AgentChatServiceApi - axios parameter creator\n * @export\n */\nexport const AgentChatServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {number} [size] default\n     * @param {number} [page]\n     * @param {string} [q]\n     * @param {Array<string>} [fields]\n     * @param {string} [sort]\n     * @param {boolean} [onlyClosed] filter\n     * @param {boolean} [onlyUnprocessed]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getAgentChats: async (\n      size?: number,\n      page?: number,\n      q?: string,\n      fields?: Array<string>,\n      sort?: string,\n      onlyClosed?: boolean,\n      onlyUnprocessed?: boolean,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/agent/chats`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (onlyClosed !== undefined) {\n        localVarQueryParameter['only_closed'] = onlyClosed\n      }\n\n      if (onlyUnprocessed !== undefined) {\n        localVarQueryParameter['only_unprocessed'] = onlyUnprocessed\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} chatId\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    markChatProcessed: async (\n      chatId: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'chatId' is not null or undefined\n      if (chatId === null || chatId === undefined) {\n        throw new RequiredError(\n          'chatId',\n          'Required parameter chatId was null or undefined when calling markChatProcessed.'\n        )\n      }\n      const localVarPath = `/agent/chats/{chat_id}`.replace(\n        `{${'chat_id'}}`,\n        encodeURIComponent(String(chatId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * AgentChatServiceApi - functional programming interface\n * @export\n */\nexport const AgentChatServiceApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @param {number} [size] default\n     * @param {number} [page]\n     * @param {string} [q]\n     * @param {Array<string>} [fields]\n     * @param {string} [sort]\n     * @param {boolean} [onlyClosed] filter\n     * @param {boolean} [onlyUnprocessed]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getAgentChats(\n      size?: number,\n      page?: number,\n      q?: string,\n      fields?: Array<string>,\n      sort?: string,\n      onlyClosed?: boolean,\n      onlyUnprocessed?: boolean,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelChatGetAgentChatsResponse>\n    > {\n      const localVarAxiosArgs = await AgentChatServiceApiAxiosParamCreator(\n        configuration\n      ).getAgentChats(\n        size,\n        page,\n        q,\n        fields,\n        sort,\n        onlyClosed,\n        onlyUnprocessed,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} chatId\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async markChatProcessed(\n      chatId: string,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>\n    > {\n      const localVarAxiosArgs = await AgentChatServiceApiAxiosParamCreator(\n        configuration\n      ).markChatProcessed(chatId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * AgentChatServiceApi - factory interface\n * @export\n */\nexport const AgentChatServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {number} [size] default\n     * @param {number} [page]\n     * @param {string} [q]\n     * @param {Array<string>} [fields]\n     * @param {string} [sort]\n     * @param {boolean} [onlyClosed] filter\n     * @param {boolean} [onlyUnprocessed]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getAgentChats(\n      size?: number,\n      page?: number,\n      q?: string,\n      fields?: Array<string>,\n      sort?: string,\n      onlyClosed?: boolean,\n      onlyUnprocessed?: boolean,\n      options?: any\n    ): AxiosPromise<WebitelChatGetAgentChatsResponse> {\n      return AgentChatServiceApiFp(configuration)\n        .getAgentChats(\n          size,\n          page,\n          q,\n          fields,\n          sort,\n          onlyClosed,\n          onlyUnprocessed,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} chatId\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    markChatProcessed(chatId: string, options?: any): AxiosPromise<object> {\n      return AgentChatServiceApiFp(configuration)\n        .markChatProcessed(chatId, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * AgentChatServiceApi - object-oriented interface\n * @export\n * @class AgentChatServiceApi\n * @extends {BaseAPI}\n */\nexport class AgentChatServiceApi extends BaseAPI {\n  /**\n   *\n   * @param {number} [size] default\n   * @param {number} [page]\n   * @param {string} [q]\n   * @param {Array<string>} [fields]\n   * @param {string} [sort]\n   * @param {boolean} [onlyClosed] filter\n   * @param {boolean} [onlyUnprocessed]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentChatServiceApi\n   */\n  public getAgentChats(\n    size?: number,\n    page?: number,\n    q?: string,\n    fields?: Array<string>,\n    sort?: string,\n    onlyClosed?: boolean,\n    onlyUnprocessed?: boolean,\n    options?: any\n  ) {\n    return AgentChatServiceApiFp(this.configuration)\n      .getAgentChats(\n        size,\n        page,\n        q,\n        fields,\n        sort,\n        onlyClosed,\n        onlyUnprocessed,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} chatId\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentChatServiceApi\n   */\n  public markChatProcessed(chatId: string, options?: any) {\n    return AgentChatServiceApiFp(this.configuration)\n      .markChatProcessed(chatId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { EngineAgentPauseCause } from '../api'\n// @ts-ignore\nimport { EngineAgentPauseCauseServicePatchAgentPauseCauseBody } from '../api'\n// @ts-ignore\nimport { EngineAgentPauseCauseServiceUpdateAgentPauseCauseBody } from '../api'\n// @ts-ignore\nimport { EngineCreateAgentPauseCauseRequest } from '../api'\n// @ts-ignore\nimport { EngineListAgentPauseCause } from '../api'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n/**\n * AgentPauseCauseServiceApi - axios parameter creator\n * @export\n */\nexport const AgentPauseCauseServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {EngineCreateAgentPauseCauseRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createAgentPauseCause: async (\n      body: EngineCreateAgentPauseCauseRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createAgentPauseCause.'\n        )\n      }\n      const localVarPath = `/call_center/pause_causes`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteAgentPauseCause: async (\n      id: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteAgentPauseCause.'\n        )\n      }\n      const localVarPath = `/call_center/pause_causes/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineAgentPauseCauseServicePatchAgentPauseCauseBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchAgentPauseCause: async (\n      id: number,\n      body: EngineAgentPauseCauseServicePatchAgentPauseCauseBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling patchAgentPauseCause.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling patchAgentPauseCause.'\n        )\n      }\n      const localVarPath = `/call_center/pause_causes/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readAgentPauseCause: async (\n      id: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readAgentPauseCause.'\n        )\n      }\n      const localVarPath = `/call_center/pause_causes/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAgentPauseCause: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/call_center/pause_causes`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineAgentPauseCauseServiceUpdateAgentPauseCauseBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateAgentPauseCause: async (\n      id: number,\n      body: EngineAgentPauseCauseServiceUpdateAgentPauseCauseBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateAgentPauseCause.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateAgentPauseCause.'\n        )\n      }\n      const localVarPath = `/call_center/pause_causes/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * AgentPauseCauseServiceApi - functional programming interface\n * @export\n */\nexport const AgentPauseCauseServiceApiFp = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {EngineCreateAgentPauseCauseRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createAgentPauseCause(\n      body: EngineCreateAgentPauseCauseRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineAgentPauseCause>\n    > {\n      const localVarAxiosArgs = await AgentPauseCauseServiceApiAxiosParamCreator(\n        configuration\n      ).createAgentPauseCause(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteAgentPauseCause(\n      id: number,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineAgentPauseCause>\n    > {\n      const localVarAxiosArgs = await AgentPauseCauseServiceApiAxiosParamCreator(\n        configuration\n      ).deleteAgentPauseCause(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineAgentPauseCauseServicePatchAgentPauseCauseBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async patchAgentPauseCause(\n      id: number,\n      body: EngineAgentPauseCauseServicePatchAgentPauseCauseBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineAgentPauseCause>\n    > {\n      const localVarAxiosArgs = await AgentPauseCauseServiceApiAxiosParamCreator(\n        configuration\n      ).patchAgentPauseCause(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readAgentPauseCause(\n      id: number,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineAgentPauseCause>\n    > {\n      const localVarAxiosArgs = await AgentPauseCauseServiceApiAxiosParamCreator(\n        configuration\n      ).readAgentPauseCause(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchAgentPauseCause(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListAgentPauseCause>\n    > {\n      const localVarAxiosArgs = await AgentPauseCauseServiceApiAxiosParamCreator(\n        configuration\n      ).searchAgentPauseCause(page, size, q, sort, fields, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineAgentPauseCauseServiceUpdateAgentPauseCauseBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateAgentPauseCause(\n      id: number,\n      body: EngineAgentPauseCauseServiceUpdateAgentPauseCauseBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineAgentPauseCause>\n    > {\n      const localVarAxiosArgs = await AgentPauseCauseServiceApiAxiosParamCreator(\n        configuration\n      ).updateAgentPauseCause(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * AgentPauseCauseServiceApi - factory interface\n * @export\n */\nexport const AgentPauseCauseServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {EngineCreateAgentPauseCauseRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createAgentPauseCause(\n      body: EngineCreateAgentPauseCauseRequest,\n      options?: any\n    ): AxiosPromise<EngineAgentPauseCause> {\n      return AgentPauseCauseServiceApiFp(configuration)\n        .createAgentPauseCause(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteAgentPauseCause(\n      id: number,\n      options?: any\n    ): AxiosPromise<EngineAgentPauseCause> {\n      return AgentPauseCauseServiceApiFp(configuration)\n        .deleteAgentPauseCause(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineAgentPauseCauseServicePatchAgentPauseCauseBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchAgentPauseCause(\n      id: number,\n      body: EngineAgentPauseCauseServicePatchAgentPauseCauseBody,\n      options?: any\n    ): AxiosPromise<EngineAgentPauseCause> {\n      return AgentPauseCauseServiceApiFp(configuration)\n        .patchAgentPauseCause(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readAgentPauseCause(\n      id: number,\n      options?: any\n    ): AxiosPromise<EngineAgentPauseCause> {\n      return AgentPauseCauseServiceApiFp(configuration)\n        .readAgentPauseCause(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAgentPauseCause(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options?: any\n    ): AxiosPromise<EngineListAgentPauseCause> {\n      return AgentPauseCauseServiceApiFp(configuration)\n        .searchAgentPauseCause(page, size, q, sort, fields, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineAgentPauseCauseServiceUpdateAgentPauseCauseBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateAgentPauseCause(\n      id: number,\n      body: EngineAgentPauseCauseServiceUpdateAgentPauseCauseBody,\n      options?: any\n    ): AxiosPromise<EngineAgentPauseCause> {\n      return AgentPauseCauseServiceApiFp(configuration)\n        .updateAgentPauseCause(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * AgentPauseCauseServiceApi - object-oriented interface\n * @export\n * @class AgentPauseCauseServiceApi\n * @extends {BaseAPI}\n */\nexport class AgentPauseCauseServiceApi extends BaseAPI {\n  /**\n   *\n   * @param {EngineCreateAgentPauseCauseRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentPauseCauseServiceApi\n   */\n  public createAgentPauseCause(\n    body: EngineCreateAgentPauseCauseRequest,\n    options?: any\n  ) {\n    return AgentPauseCauseServiceApiFp(this.configuration)\n      .createAgentPauseCause(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentPauseCauseServiceApi\n   */\n  public deleteAgentPauseCause(id: number, options?: any) {\n    return AgentPauseCauseServiceApiFp(this.configuration)\n      .deleteAgentPauseCause(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} id\n   * @param {EngineAgentPauseCauseServicePatchAgentPauseCauseBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentPauseCauseServiceApi\n   */\n  public patchAgentPauseCause(\n    id: number,\n    body: EngineAgentPauseCauseServicePatchAgentPauseCauseBody,\n    options?: any\n  ) {\n    return AgentPauseCauseServiceApiFp(this.configuration)\n      .patchAgentPauseCause(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentPauseCauseServiceApi\n   */\n  public readAgentPauseCause(id: number, options?: any) {\n    return AgentPauseCauseServiceApiFp(this.configuration)\n      .readAgentPauseCause(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<number>} [id]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentPauseCauseServiceApi\n   */\n  public searchAgentPauseCause(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<number>,\n    options?: any\n  ) {\n    return AgentPauseCauseServiceApiFp(this.configuration)\n      .searchAgentPauseCause(page, size, q, sort, fields, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} id\n   * @param {EngineAgentPauseCauseServiceUpdateAgentPauseCauseBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentPauseCauseServiceApi\n   */\n  public updateAgentPauseCause(\n    id: number,\n    body: EngineAgentPauseCauseServiceUpdateAgentPauseCauseBody,\n    options?: any\n  ) {\n    return AgentPauseCauseServiceApiFp(this.configuration)\n      .updateAgentPauseCause(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { EngineAgent } from '../api'\n// @ts-ignore\nimport { EngineAgentCallStatisticsList } from '../api'\n// @ts-ignore\nimport { EngineAgentInQueueStatisticsList } from '../api'\n// @ts-ignore\nimport { EngineAgentServicePatchAgentBody } from '../api'\n// @ts-ignore\nimport { EngineAgentServiceUpdateAgentBody } from '../api'\n// @ts-ignore\nimport { EngineAgentServiceUpdateAgentStatusBody } from '../api'\n// @ts-ignore\nimport { EngineAgentStatusStatisticItem } from '../api'\n// @ts-ignore\nimport { EngineAgentTodayStatisticsResponse } from '../api'\n// @ts-ignore\nimport { EngineCreateAgentRequest } from '../api'\n// @ts-ignore\nimport { EngineForAgentPauseCauseList } from '../api'\n// @ts-ignore\nimport { EngineListAgent } from '../api'\n// @ts-ignore\nimport { EngineListAgentInQueue } from '../api'\n// @ts-ignore\nimport { EngineListAgentInTeam } from '../api'\n// @ts-ignore\nimport { EngineListAgentStateHistory } from '../api'\n// @ts-ignore\nimport { EngineListAgentStatsStatistic } from '../api'\n// @ts-ignore\nimport { EngineListAgentUser } from '../api'\n// @ts-ignore\nimport { EngineListUserStatus } from '../api'\n// @ts-ignore\nimport { EngineResponse } from '../api'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n/**\n * AgentServiceApi - axios parameter creator\n * @export\n */\nexport const AgentServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {number} agentId\n     * @param {object} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    agentSetState: async (\n      agentId: number,\n      body: object,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'agentId' is not null or undefined\n      if (agentId === null || agentId === undefined) {\n        throw new RequiredError(\n          'agentId',\n          'Required parameter agentId was null or undefined when calling agentSetState.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling agentSetState.'\n        )\n      }\n      const localVarPath = `/call_center/agents/{agent_id}/states/waiting`.replace(\n        `{${'agent_id'}}`,\n        encodeURIComponent(String(agentId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} agentId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [timeFrom]\n     * @param {string} [timeTo]\n     * @param {string} [q]\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    agentStateHistory: async (\n      agentId: string,\n      page?: number,\n      size?: number,\n      timeFrom?: string,\n      timeTo?: string,\n      q?: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'agentId' is not null or undefined\n      if (agentId === null || agentId === undefined) {\n        throw new RequiredError(\n          'agentId',\n          'Required parameter agentId was null or undefined when calling agentStateHistory.'\n        )\n      }\n      const localVarPath = `/call_center/agents/{agent_id}/states/history`.replace(\n        `{${'agent_id'}}`,\n        encodeURIComponent(String(agentId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (timeFrom !== undefined) {\n        localVarQueryParameter['time_from'] = timeFrom\n      }\n\n      if (timeTo !== undefined) {\n        localVarQueryParameter['time_to'] = timeTo\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} agentId\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    agentTodayStatistics: async (\n      agentId: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'agentId' is not null or undefined\n      if (agentId === null || agentId === undefined) {\n        throw new RequiredError(\n          'agentId',\n          'Required parameter agentId was null or undefined when calling agentTodayStatistics.'\n        )\n      }\n      const localVarPath = `/call_center/agents/{agent_id}/statistics/today`.replace(\n        `{${'agent_id'}}`,\n        encodeURIComponent(String(agentId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Create Agent\n     * @param {EngineCreateAgentRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createAgent: async (\n      body: EngineCreateAgentRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createAgent.'\n        )\n      }\n      const localVarPath = `/call_center/agents`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Remove Agent\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteAgent: async (\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteAgent.'\n        )\n      }\n      const localVarPath = `/call_center/agents/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update Agent\n     * @param {string} id\n     * @param {EngineAgentServicePatchAgentBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchAgent: async (\n      id: string,\n      body: EngineAgentServicePatchAgentBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling patchAgent.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling patchAgent.'\n        )\n      }\n      const localVarPath = `/call_center/agents/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Agent item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readAgent: async (\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readAgent.'\n        )\n      }\n      const localVarPath = `/call_center/agents/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary List of Agent\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [id]\n     * @param {Array<string>} [allowChannels]\n     * @param {Array<number>} [supervisorId]\n     * @param {Array<number>} [teamId]\n     * @param {Array<number>} [regionId]\n     * @param {Array<number>} [auditorId]\n     * @param {boolean} [isSupervisor]\n     * @param {Array<number>} [skillId]\n     * @param {Array<number>} [queueId]\n     * @param {boolean} [notSupervisor]\n     * @param {Array<string>} [userId]\n     * @param {Array<string>} [extension]\n     * @param {Array<number>} [notTeamId]\n     * @param {Array<number>} [notSkillId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAgent: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<string>,\n      allowChannels?: Array<string>,\n      supervisorId?: Array<number>,\n      teamId?: Array<number>,\n      regionId?: Array<number>,\n      auditorId?: Array<number>,\n      isSupervisor?: boolean,\n      skillId?: Array<number>,\n      queueId?: Array<number>,\n      notSupervisor?: boolean,\n      userId?: Array<string>,\n      extension?: Array<string>,\n      notTeamId?: Array<number>,\n      notSkillId?: Array<number>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/call_center/agents`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (allowChannels) {\n        localVarQueryParameter['allow_channels'] = allowChannels\n      }\n\n      if (supervisorId) {\n        localVarQueryParameter['supervisor_id'] = supervisorId\n      }\n\n      if (teamId) {\n        localVarQueryParameter['team_id'] = teamId\n      }\n\n      if (regionId) {\n        localVarQueryParameter['region_id'] = regionId\n      }\n\n      if (auditorId) {\n        localVarQueryParameter['auditor_id'] = auditorId\n      }\n\n      if (isSupervisor !== undefined) {\n        localVarQueryParameter['is_supervisor'] = isSupervisor\n      }\n\n      if (skillId) {\n        localVarQueryParameter['skill_id'] = skillId\n      }\n\n      if (queueId) {\n        localVarQueryParameter['queue_id'] = queueId\n      }\n\n      if (notSupervisor !== undefined) {\n        localVarQueryParameter['not_supervisor'] = notSupervisor\n      }\n\n      if (userId) {\n        localVarQueryParameter['user_id'] = userId\n      }\n\n      if (extension) {\n        localVarQueryParameter['extension'] = extension\n      }\n\n      if (notTeamId) {\n        localVarQueryParameter['not_team_id'] = notTeamId\n      }\n\n      if (notSkillId) {\n        localVarQueryParameter['not_skill_id'] = notSkillId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [timeFrom]\n     * @param {string} [timeTo]\n     * @param {Array<number>} [agentId]\n     * @param {string} [domainId]\n     * @param {string} [q]\n     * @param {Array<string>} [fields]\n     * @param {string} [sort]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAgentCallStatistics: async (\n      page?: number,\n      size?: number,\n      timeFrom?: string,\n      timeTo?: string,\n      agentId?: Array<number>,\n      domainId?: string,\n      q?: string,\n      fields?: Array<string>,\n      sort?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/call_center/agents/reports/call`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (timeFrom !== undefined) {\n        localVarQueryParameter['time.from'] = timeFrom\n      }\n\n      if (timeTo !== undefined) {\n        localVarQueryParameter['time.to'] = timeTo\n      }\n\n      if (agentId) {\n        localVarQueryParameter['agent_id'] = agentId\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAgentInQueue: async (\n      id: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling searchAgentInQueue.'\n        )\n      }\n      const localVarPath = `/call_center/agents/{id}/queues`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} agentId\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAgentInQueueStatistics: async (\n      agentId: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'agentId' is not null or undefined\n      if (agentId === null || agentId === undefined) {\n        throw new RequiredError(\n          'agentId',\n          'Required parameter agentId was null or undefined when calling searchAgentInQueueStatistics.'\n        )\n      }\n      const localVarPath = `/call_center/agents/{agent_id}/statistics/queues`.replace(\n        `{${'agent_id'}}`,\n        encodeURIComponent(String(agentId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary todo deprecated ?\n     * @param {string} id\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAgentInTeam: async (\n      id: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling searchAgentInTeam.'\n        )\n      }\n      const localVarPath = `/call_center/agents/{id}/teams`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [joinedAtFrom]\n     * @param {string} [joinedAtTo]\n     * @param {Array<string>} [agentId]\n     * @param {string} [sort]\n     * @param {string} [domainId]\n     * @param {string} [fromId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAgentStateHistory: async (\n      page?: number,\n      size?: number,\n      joinedAtFrom?: string,\n      joinedAtTo?: string,\n      agentId?: Array<string>,\n      sort?: string,\n      domainId?: string,\n      fromId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/call_center/agents/states/history`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (joinedAtFrom !== undefined) {\n        localVarQueryParameter['joined_at.from'] = joinedAtFrom\n      }\n\n      if (joinedAtTo !== undefined) {\n        localVarQueryParameter['joined_at.to'] = joinedAtTo\n      }\n\n      if (agentId) {\n        localVarQueryParameter['agent_id'] = agentId\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      if (fromId !== undefined) {\n        localVarQueryParameter['from_id'] = fromId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [agentId]\n     * @param {string} [timeFrom]\n     * @param {string} [timeTo]\n     * @param {Array<string>} [status]\n     * @param {Array<number>} [queueId]\n     * @param {Array<number>} [teamId]\n     * @param {string} [utilizationFrom]\n     * @param {string} [utilizationTo]\n     * @param {boolean} [hasCall]\n     * @param {Array<number>} [skillId]\n     * @param {Array<number>} [regionId]\n     * @param {Array<number>} [supervisorId]\n     * @param {Array<string>} [auditorId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAgentStatusStatistic: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      agentId?: Array<string>,\n      timeFrom?: string,\n      timeTo?: string,\n      status?: Array<string>,\n      queueId?: Array<number>,\n      teamId?: Array<number>,\n      utilizationFrom?: string,\n      utilizationTo?: string,\n      hasCall?: boolean,\n      skillId?: Array<number>,\n      regionId?: Array<number>,\n      supervisorId?: Array<number>,\n      auditorId?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/call_center/agents/reports/status`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (agentId) {\n        localVarQueryParameter['agent_id'] = agentId\n      }\n\n      if (timeFrom !== undefined) {\n        localVarQueryParameter['time.from'] = timeFrom\n      }\n\n      if (timeTo !== undefined) {\n        localVarQueryParameter['time.to'] = timeTo\n      }\n\n      if (status) {\n        localVarQueryParameter['status'] = status\n      }\n\n      if (queueId) {\n        localVarQueryParameter['queue_id'] = queueId\n      }\n\n      if (teamId) {\n        localVarQueryParameter['team_id'] = teamId\n      }\n\n      if (utilizationFrom !== undefined) {\n        localVarQueryParameter['utilization.from'] = utilizationFrom\n      }\n\n      if (utilizationTo !== undefined) {\n        localVarQueryParameter['utilization.to'] = utilizationTo\n      }\n\n      if (hasCall !== undefined) {\n        localVarQueryParameter['has_call'] = hasCall\n      }\n\n      if (skillId) {\n        localVarQueryParameter['skill_id'] = skillId\n      }\n\n      if (regionId) {\n        localVarQueryParameter['region_id'] = regionId\n      }\n\n      if (supervisorId) {\n        localVarQueryParameter['supervisor_id'] = supervisorId\n      }\n\n      if (auditorId) {\n        localVarQueryParameter['auditor_id'] = auditorId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} agentId\n     * @param {string} [timeFrom]\n     * @param {string} [timeTo]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAgentStatusStatisticItem: async (\n      agentId: string,\n      timeFrom?: string,\n      timeTo?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'agentId' is not null or undefined\n      if (agentId === null || agentId === undefined) {\n        throw new RequiredError(\n          'agentId',\n          'Required parameter agentId was null or undefined when calling searchAgentStatusStatisticItem.'\n        )\n      }\n      const localVarPath = `/call_center/agents/reports/status/{agent_id}`.replace(\n        `{${'agent_id'}}`,\n        encodeURIComponent(String(agentId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (timeFrom !== undefined) {\n        localVarQueryParameter['time.from'] = timeFrom\n      }\n\n      if (timeTo !== undefined) {\n        localVarQueryParameter['time.to'] = timeTo\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary SearchLookupAgentNotExistsUser\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchLookupUsersAgentNotExists: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/call_center/lookups/agents/users`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} agentId\n     * @param {boolean} [allowChange]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchPauseCauseForAgent: async (\n      agentId: string,\n      allowChange?: boolean,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'agentId' is not null or undefined\n      if (agentId === null || agentId === undefined) {\n        throw new RequiredError(\n          'agentId',\n          'Required parameter agentId was null or undefined when calling searchPauseCauseForAgent.'\n        )\n      }\n      const localVarPath = `/call_center/agents/{agent_id}/pause_causes`.replace(\n        `{${'agent_id'}}`,\n        encodeURIComponent(String(agentId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (allowChange !== undefined) {\n        localVarQueryParameter['allow_change'] = allowChange\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary List of UserStatus\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchUserStatus: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/call_center/users`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update Agent\n     * @param {string} id\n     * @param {EngineAgentServiceUpdateAgentBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateAgent: async (\n      id: string,\n      body: EngineAgentServiceUpdateAgentBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateAgent.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateAgent.'\n        )\n      }\n      const localVarPath = `/call_center/agents/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Change agent status\n     * @param {string} id\n     * @param {EngineAgentServiceUpdateAgentStatusBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateAgentStatus: async (\n      id: string,\n      body: EngineAgentServiceUpdateAgentStatusBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateAgentStatus.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateAgentStatus.'\n        )\n      }\n      const localVarPath = `/call_center/agents/{id}/status`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * AgentServiceApi - functional programming interface\n * @export\n */\nexport const AgentServiceApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @param {number} agentId\n     * @param {object} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async agentSetState(\n      agentId: number,\n      body: object,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>\n    > {\n      const localVarAxiosArgs = await AgentServiceApiAxiosParamCreator(\n        configuration\n      ).agentSetState(agentId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} agentId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [timeFrom]\n     * @param {string} [timeTo]\n     * @param {string} [q]\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async agentStateHistory(\n      agentId: string,\n      page?: number,\n      size?: number,\n      timeFrom?: string,\n      timeTo?: string,\n      q?: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListAgentStateHistory>\n    > {\n      const localVarAxiosArgs = await AgentServiceApiAxiosParamCreator(\n        configuration\n      ).agentStateHistory(\n        agentId,\n        page,\n        size,\n        timeFrom,\n        timeTo,\n        q,\n        domainId,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} agentId\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async agentTodayStatistics(\n      agentId: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineAgentTodayStatisticsResponse>\n    > {\n      const localVarAxiosArgs = await AgentServiceApiAxiosParamCreator(\n        configuration\n      ).agentTodayStatistics(agentId, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Create Agent\n     * @param {EngineCreateAgentRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createAgent(\n      body: EngineCreateAgentRequest,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineAgent>\n    > {\n      const localVarAxiosArgs = await AgentServiceApiAxiosParamCreator(\n        configuration\n      ).createAgent(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Remove Agent\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteAgent(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineAgent>\n    > {\n      const localVarAxiosArgs = await AgentServiceApiAxiosParamCreator(\n        configuration\n      ).deleteAgent(id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update Agent\n     * @param {string} id\n     * @param {EngineAgentServicePatchAgentBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async patchAgent(\n      id: string,\n      body: EngineAgentServicePatchAgentBody,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineAgent>\n    > {\n      const localVarAxiosArgs = await AgentServiceApiAxiosParamCreator(\n        configuration\n      ).patchAgent(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Agent item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readAgent(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineAgent>\n    > {\n      const localVarAxiosArgs = await AgentServiceApiAxiosParamCreator(\n        configuration\n      ).readAgent(id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary List of Agent\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [id]\n     * @param {Array<string>} [allowChannels]\n     * @param {Array<number>} [supervisorId]\n     * @param {Array<number>} [teamId]\n     * @param {Array<number>} [regionId]\n     * @param {Array<number>} [auditorId]\n     * @param {boolean} [isSupervisor]\n     * @param {Array<number>} [skillId]\n     * @param {Array<number>} [queueId]\n     * @param {boolean} [notSupervisor]\n     * @param {Array<string>} [userId]\n     * @param {Array<string>} [extension]\n     * @param {Array<number>} [notTeamId]\n     * @param {Array<number>} [notSkillId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchAgent(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<string>,\n      allowChannels?: Array<string>,\n      supervisorId?: Array<number>,\n      teamId?: Array<number>,\n      regionId?: Array<number>,\n      auditorId?: Array<number>,\n      isSupervisor?: boolean,\n      skillId?: Array<number>,\n      queueId?: Array<number>,\n      notSupervisor?: boolean,\n      userId?: Array<string>,\n      extension?: Array<string>,\n      notTeamId?: Array<number>,\n      notSkillId?: Array<number>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListAgent>\n    > {\n      const localVarAxiosArgs = await AgentServiceApiAxiosParamCreator(\n        configuration\n      ).searchAgent(\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        allowChannels,\n        supervisorId,\n        teamId,\n        regionId,\n        auditorId,\n        isSupervisor,\n        skillId,\n        queueId,\n        notSupervisor,\n        userId,\n        extension,\n        notTeamId,\n        notSkillId,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [timeFrom]\n     * @param {string} [timeTo]\n     * @param {Array<number>} [agentId]\n     * @param {string} [domainId]\n     * @param {string} [q]\n     * @param {Array<string>} [fields]\n     * @param {string} [sort]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchAgentCallStatistics(\n      page?: number,\n      size?: number,\n      timeFrom?: string,\n      timeTo?: string,\n      agentId?: Array<number>,\n      domainId?: string,\n      q?: string,\n      fields?: Array<string>,\n      sort?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineAgentCallStatisticsList>\n    > {\n      const localVarAxiosArgs = await AgentServiceApiAxiosParamCreator(\n        configuration\n      ).searchAgentCallStatistics(\n        page,\n        size,\n        timeFrom,\n        timeTo,\n        agentId,\n        domainId,\n        q,\n        fields,\n        sort,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchAgentInQueue(\n      id: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListAgentInQueue>\n    > {\n      const localVarAxiosArgs = await AgentServiceApiAxiosParamCreator(\n        configuration\n      ).searchAgentInQueue(id, page, size, q, sort, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} agentId\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchAgentInQueueStatistics(\n      agentId: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineAgentInQueueStatisticsList>\n    > {\n      const localVarAxiosArgs = await AgentServiceApiAxiosParamCreator(\n        configuration\n      ).searchAgentInQueueStatistics(agentId, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary todo deprecated ?\n     * @param {string} id\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchAgentInTeam(\n      id: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListAgentInTeam>\n    > {\n      const localVarAxiosArgs = await AgentServiceApiAxiosParamCreator(\n        configuration\n      ).searchAgentInTeam(id, page, size, q, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [joinedAtFrom]\n     * @param {string} [joinedAtTo]\n     * @param {Array<string>} [agentId]\n     * @param {string} [sort]\n     * @param {string} [domainId]\n     * @param {string} [fromId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchAgentStateHistory(\n      page?: number,\n      size?: number,\n      joinedAtFrom?: string,\n      joinedAtTo?: string,\n      agentId?: Array<string>,\n      sort?: string,\n      domainId?: string,\n      fromId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListAgentStateHistory>\n    > {\n      const localVarAxiosArgs = await AgentServiceApiAxiosParamCreator(\n        configuration\n      ).searchAgentStateHistory(\n        page,\n        size,\n        joinedAtFrom,\n        joinedAtTo,\n        agentId,\n        sort,\n        domainId,\n        fromId,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [agentId]\n     * @param {string} [timeFrom]\n     * @param {string} [timeTo]\n     * @param {Array<string>} [status]\n     * @param {Array<number>} [queueId]\n     * @param {Array<number>} [teamId]\n     * @param {string} [utilizationFrom]\n     * @param {string} [utilizationTo]\n     * @param {boolean} [hasCall]\n     * @param {Array<number>} [skillId]\n     * @param {Array<number>} [regionId]\n     * @param {Array<number>} [supervisorId]\n     * @param {Array<string>} [auditorId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchAgentStatusStatistic(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      agentId?: Array<string>,\n      timeFrom?: string,\n      timeTo?: string,\n      status?: Array<string>,\n      queueId?: Array<number>,\n      teamId?: Array<number>,\n      utilizationFrom?: string,\n      utilizationTo?: string,\n      hasCall?: boolean,\n      skillId?: Array<number>,\n      regionId?: Array<number>,\n      supervisorId?: Array<number>,\n      auditorId?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListAgentStatsStatistic>\n    > {\n      const localVarAxiosArgs = await AgentServiceApiAxiosParamCreator(\n        configuration\n      ).searchAgentStatusStatistic(\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        agentId,\n        timeFrom,\n        timeTo,\n        status,\n        queueId,\n        teamId,\n        utilizationFrom,\n        utilizationTo,\n        hasCall,\n        skillId,\n        regionId,\n        supervisorId,\n        auditorId,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} agentId\n     * @param {string} [timeFrom]\n     * @param {string} [timeTo]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchAgentStatusStatisticItem(\n      agentId: string,\n      timeFrom?: string,\n      timeTo?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineAgentStatusStatisticItem>\n    > {\n      const localVarAxiosArgs = await AgentServiceApiAxiosParamCreator(\n        configuration\n      ).searchAgentStatusStatisticItem(agentId, timeFrom, timeTo, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary SearchLookupAgentNotExistsUser\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchLookupUsersAgentNotExists(\n      page?: number,\n      size?: number,\n      q?: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListAgentUser>\n    > {\n      const localVarAxiosArgs = await AgentServiceApiAxiosParamCreator(\n        configuration\n      ).searchLookupUsersAgentNotExists(page, size, q, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} agentId\n     * @param {boolean} [allowChange]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchPauseCauseForAgent(\n      agentId: string,\n      allowChange?: boolean,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineForAgentPauseCauseList>\n    > {\n      const localVarAxiosArgs = await AgentServiceApiAxiosParamCreator(\n        configuration\n      ).searchPauseCauseForAgent(agentId, allowChange, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary List of UserStatus\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchUserStatus(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListUserStatus>\n    > {\n      const localVarAxiosArgs = await AgentServiceApiAxiosParamCreator(\n        configuration\n      ).searchUserStatus(page, size, q, sort, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update Agent\n     * @param {string} id\n     * @param {EngineAgentServiceUpdateAgentBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateAgent(\n      id: string,\n      body: EngineAgentServiceUpdateAgentBody,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineAgent>\n    > {\n      const localVarAxiosArgs = await AgentServiceApiAxiosParamCreator(\n        configuration\n      ).updateAgent(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Change agent status\n     * @param {string} id\n     * @param {EngineAgentServiceUpdateAgentStatusBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateAgentStatus(\n      id: string,\n      body: EngineAgentServiceUpdateAgentStatusBody,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineResponse>\n    > {\n      const localVarAxiosArgs = await AgentServiceApiAxiosParamCreator(\n        configuration\n      ).updateAgentStatus(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * AgentServiceApi - factory interface\n * @export\n */\nexport const AgentServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {number} agentId\n     * @param {object} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    agentSetState(\n      agentId: number,\n      body: object,\n      options?: any\n    ): AxiosPromise<object> {\n      return AgentServiceApiFp(configuration)\n        .agentSetState(agentId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} agentId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [timeFrom]\n     * @param {string} [timeTo]\n     * @param {string} [q]\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    agentStateHistory(\n      agentId: string,\n      page?: number,\n      size?: number,\n      timeFrom?: string,\n      timeTo?: string,\n      q?: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineListAgentStateHistory> {\n      return AgentServiceApiFp(configuration)\n        .agentStateHistory(\n          agentId,\n          page,\n          size,\n          timeFrom,\n          timeTo,\n          q,\n          domainId,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} agentId\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    agentTodayStatistics(\n      agentId: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<EngineAgentTodayStatisticsResponse> {\n      return AgentServiceApiFp(configuration)\n        .agentTodayStatistics(agentId, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Create Agent\n     * @param {EngineCreateAgentRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createAgent(\n      body: EngineCreateAgentRequest,\n      options?: any\n    ): AxiosPromise<EngineAgent> {\n      return AgentServiceApiFp(configuration)\n        .createAgent(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Remove Agent\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteAgent(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineAgent> {\n      return AgentServiceApiFp(configuration)\n        .deleteAgent(id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update Agent\n     * @param {string} id\n     * @param {EngineAgentServicePatchAgentBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchAgent(\n      id: string,\n      body: EngineAgentServicePatchAgentBody,\n      options?: any\n    ): AxiosPromise<EngineAgent> {\n      return AgentServiceApiFp(configuration)\n        .patchAgent(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Agent item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readAgent(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineAgent> {\n      return AgentServiceApiFp(configuration)\n        .readAgent(id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary List of Agent\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [id]\n     * @param {Array<string>} [allowChannels]\n     * @param {Array<number>} [supervisorId]\n     * @param {Array<number>} [teamId]\n     * @param {Array<number>} [regionId]\n     * @param {Array<number>} [auditorId]\n     * @param {boolean} [isSupervisor]\n     * @param {Array<number>} [skillId]\n     * @param {Array<number>} [queueId]\n     * @param {boolean} [notSupervisor]\n     * @param {Array<string>} [userId]\n     * @param {Array<string>} [extension]\n     * @param {Array<number>} [notTeamId]\n     * @param {Array<number>} [notSkillId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAgent(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<string>,\n      allowChannels?: Array<string>,\n      supervisorId?: Array<number>,\n      teamId?: Array<number>,\n      regionId?: Array<number>,\n      auditorId?: Array<number>,\n      isSupervisor?: boolean,\n      skillId?: Array<number>,\n      queueId?: Array<number>,\n      notSupervisor?: boolean,\n      userId?: Array<string>,\n      extension?: Array<string>,\n      notTeamId?: Array<number>,\n      notSkillId?: Array<number>,\n      options?: any\n    ): AxiosPromise<EngineListAgent> {\n      return AgentServiceApiFp(configuration)\n        .searchAgent(\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          id,\n          allowChannels,\n          supervisorId,\n          teamId,\n          regionId,\n          auditorId,\n          isSupervisor,\n          skillId,\n          queueId,\n          notSupervisor,\n          userId,\n          extension,\n          notTeamId,\n          notSkillId,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [timeFrom]\n     * @param {string} [timeTo]\n     * @param {Array<number>} [agentId]\n     * @param {string} [domainId]\n     * @param {string} [q]\n     * @param {Array<string>} [fields]\n     * @param {string} [sort]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAgentCallStatistics(\n      page?: number,\n      size?: number,\n      timeFrom?: string,\n      timeTo?: string,\n      agentId?: Array<number>,\n      domainId?: string,\n      q?: string,\n      fields?: Array<string>,\n      sort?: string,\n      options?: any\n    ): AxiosPromise<EngineAgentCallStatisticsList> {\n      return AgentServiceApiFp(configuration)\n        .searchAgentCallStatistics(\n          page,\n          size,\n          timeFrom,\n          timeTo,\n          agentId,\n          domainId,\n          q,\n          fields,\n          sort,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAgentInQueue(\n      id: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<EngineListAgentInQueue> {\n      return AgentServiceApiFp(configuration)\n        .searchAgentInQueue(id, page, size, q, sort, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} agentId\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAgentInQueueStatistics(\n      agentId: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineAgentInQueueStatisticsList> {\n      return AgentServiceApiFp(configuration)\n        .searchAgentInQueueStatistics(agentId, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary todo deprecated ?\n     * @param {string} id\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAgentInTeam(\n      id: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineListAgentInTeam> {\n      return AgentServiceApiFp(configuration)\n        .searchAgentInTeam(id, page, size, q, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [joinedAtFrom]\n     * @param {string} [joinedAtTo]\n     * @param {Array<string>} [agentId]\n     * @param {string} [sort]\n     * @param {string} [domainId]\n     * @param {string} [fromId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAgentStateHistory(\n      page?: number,\n      size?: number,\n      joinedAtFrom?: string,\n      joinedAtTo?: string,\n      agentId?: Array<string>,\n      sort?: string,\n      domainId?: string,\n      fromId?: string,\n      options?: any\n    ): AxiosPromise<EngineListAgentStateHistory> {\n      return AgentServiceApiFp(configuration)\n        .searchAgentStateHistory(\n          page,\n          size,\n          joinedAtFrom,\n          joinedAtTo,\n          agentId,\n          sort,\n          domainId,\n          fromId,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [agentId]\n     * @param {string} [timeFrom]\n     * @param {string} [timeTo]\n     * @param {Array<string>} [status]\n     * @param {Array<number>} [queueId]\n     * @param {Array<number>} [teamId]\n     * @param {string} [utilizationFrom]\n     * @param {string} [utilizationTo]\n     * @param {boolean} [hasCall]\n     * @param {Array<number>} [skillId]\n     * @param {Array<number>} [regionId]\n     * @param {Array<number>} [supervisorId]\n     * @param {Array<string>} [auditorId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAgentStatusStatistic(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      agentId?: Array<string>,\n      timeFrom?: string,\n      timeTo?: string,\n      status?: Array<string>,\n      queueId?: Array<number>,\n      teamId?: Array<number>,\n      utilizationFrom?: string,\n      utilizationTo?: string,\n      hasCall?: boolean,\n      skillId?: Array<number>,\n      regionId?: Array<number>,\n      supervisorId?: Array<number>,\n      auditorId?: Array<string>,\n      options?: any\n    ): AxiosPromise<EngineListAgentStatsStatistic> {\n      return AgentServiceApiFp(configuration)\n        .searchAgentStatusStatistic(\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          agentId,\n          timeFrom,\n          timeTo,\n          status,\n          queueId,\n          teamId,\n          utilizationFrom,\n          utilizationTo,\n          hasCall,\n          skillId,\n          regionId,\n          supervisorId,\n          auditorId,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} agentId\n     * @param {string} [timeFrom]\n     * @param {string} [timeTo]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAgentStatusStatisticItem(\n      agentId: string,\n      timeFrom?: string,\n      timeTo?: string,\n      options?: any\n    ): AxiosPromise<EngineAgentStatusStatisticItem> {\n      return AgentServiceApiFp(configuration)\n        .searchAgentStatusStatisticItem(agentId, timeFrom, timeTo, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary SearchLookupAgentNotExistsUser\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchLookupUsersAgentNotExists(\n      page?: number,\n      size?: number,\n      q?: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineListAgentUser> {\n      return AgentServiceApiFp(configuration)\n        .searchLookupUsersAgentNotExists(page, size, q, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} agentId\n     * @param {boolean} [allowChange]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchPauseCauseForAgent(\n      agentId: string,\n      allowChange?: boolean,\n      options?: any\n    ): AxiosPromise<EngineForAgentPauseCauseList> {\n      return AgentServiceApiFp(configuration)\n        .searchPauseCauseForAgent(agentId, allowChange, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary List of UserStatus\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchUserStatus(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<EngineListUserStatus> {\n      return AgentServiceApiFp(configuration)\n        .searchUserStatus(page, size, q, sort, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update Agent\n     * @param {string} id\n     * @param {EngineAgentServiceUpdateAgentBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateAgent(\n      id: string,\n      body: EngineAgentServiceUpdateAgentBody,\n      options?: any\n    ): AxiosPromise<EngineAgent> {\n      return AgentServiceApiFp(configuration)\n        .updateAgent(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Change agent status\n     * @param {string} id\n     * @param {EngineAgentServiceUpdateAgentStatusBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateAgentStatus(\n      id: string,\n      body: EngineAgentServiceUpdateAgentStatusBody,\n      options?: any\n    ): AxiosPromise<EngineResponse> {\n      return AgentServiceApiFp(configuration)\n        .updateAgentStatus(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * AgentServiceApi - object-oriented interface\n * @export\n * @class AgentServiceApi\n * @extends {BaseAPI}\n */\nexport class AgentServiceApi extends BaseAPI {\n  /**\n   *\n   * @param {number} agentId\n   * @param {object} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentServiceApi\n   */\n  public agentSetState(agentId: number, body: object, options?: any) {\n    return AgentServiceApiFp(this.configuration)\n      .agentSetState(agentId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} agentId\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [timeFrom]\n   * @param {string} [timeTo]\n   * @param {string} [q]\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentServiceApi\n   */\n  public agentStateHistory(\n    agentId: string,\n    page?: number,\n    size?: number,\n    timeFrom?: string,\n    timeTo?: string,\n    q?: string,\n    domainId?: string,\n    options?: any\n  ) {\n    return AgentServiceApiFp(this.configuration)\n      .agentStateHistory(\n        agentId,\n        page,\n        size,\n        timeFrom,\n        timeTo,\n        q,\n        domainId,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} agentId\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentServiceApi\n   */\n  public agentTodayStatistics(\n    agentId: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return AgentServiceApiFp(this.configuration)\n      .agentTodayStatistics(agentId, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Create Agent\n   * @param {EngineCreateAgentRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentServiceApi\n   */\n  public createAgent(body: EngineCreateAgentRequest, options?: any) {\n    return AgentServiceApiFp(this.configuration)\n      .createAgent(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Remove Agent\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentServiceApi\n   */\n  public deleteAgent(id: string, domainId?: string, options?: any) {\n    return AgentServiceApiFp(this.configuration)\n      .deleteAgent(id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update Agent\n   * @param {string} id\n   * @param {EngineAgentServicePatchAgentBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentServiceApi\n   */\n  public patchAgent(\n    id: string,\n    body: EngineAgentServicePatchAgentBody,\n    options?: any\n  ) {\n    return AgentServiceApiFp(this.configuration)\n      .patchAgent(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Agent item\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentServiceApi\n   */\n  public readAgent(id: string, domainId?: string, options?: any) {\n    return AgentServiceApiFp(this.configuration)\n      .readAgent(id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary List of Agent\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<string>} [id]\n   * @param {Array<string>} [allowChannels]\n   * @param {Array<number>} [supervisorId]\n   * @param {Array<number>} [teamId]\n   * @param {Array<number>} [regionId]\n   * @param {Array<number>} [auditorId]\n   * @param {boolean} [isSupervisor]\n   * @param {Array<number>} [skillId]\n   * @param {Array<number>} [queueId]\n   * @param {boolean} [notSupervisor]\n   * @param {Array<string>} [userId]\n   * @param {Array<string>} [extension]\n   * @param {Array<number>} [notTeamId]\n   * @param {Array<number>} [notSkillId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentServiceApi\n   */\n  public searchAgent(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<string>,\n    allowChannels?: Array<string>,\n    supervisorId?: Array<number>,\n    teamId?: Array<number>,\n    regionId?: Array<number>,\n    auditorId?: Array<number>,\n    isSupervisor?: boolean,\n    skillId?: Array<number>,\n    queueId?: Array<number>,\n    notSupervisor?: boolean,\n    userId?: Array<string>,\n    extension?: Array<string>,\n    notTeamId?: Array<number>,\n    notSkillId?: Array<number>,\n    options?: any\n  ) {\n    return AgentServiceApiFp(this.configuration)\n      .searchAgent(\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        allowChannels,\n        supervisorId,\n        teamId,\n        regionId,\n        auditorId,\n        isSupervisor,\n        skillId,\n        queueId,\n        notSupervisor,\n        userId,\n        extension,\n        notTeamId,\n        notSkillId,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [timeFrom]\n   * @param {string} [timeTo]\n   * @param {Array<number>} [agentId]\n   * @param {string} [domainId]\n   * @param {string} [q]\n   * @param {Array<string>} [fields]\n   * @param {string} [sort]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentServiceApi\n   */\n  public searchAgentCallStatistics(\n    page?: number,\n    size?: number,\n    timeFrom?: string,\n    timeTo?: string,\n    agentId?: Array<number>,\n    domainId?: string,\n    q?: string,\n    fields?: Array<string>,\n    sort?: string,\n    options?: any\n  ) {\n    return AgentServiceApiFp(this.configuration)\n      .searchAgentCallStatistics(\n        page,\n        size,\n        timeFrom,\n        timeTo,\n        agentId,\n        domainId,\n        q,\n        fields,\n        sort,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentServiceApi\n   */\n  public searchAgentInQueue(\n    id: string,\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return AgentServiceApiFp(this.configuration)\n      .searchAgentInQueue(id, page, size, q, sort, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} agentId\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentServiceApi\n   */\n  public searchAgentInQueueStatistics(\n    agentId: string,\n    domainId?: string,\n    options?: any\n  ) {\n    return AgentServiceApiFp(this.configuration)\n      .searchAgentInQueueStatistics(agentId, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary todo deprecated ?\n   * @param {string} id\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentServiceApi\n   */\n  public searchAgentInTeam(\n    id: string,\n    page?: number,\n    size?: number,\n    q?: string,\n    domainId?: string,\n    options?: any\n  ) {\n    return AgentServiceApiFp(this.configuration)\n      .searchAgentInTeam(id, page, size, q, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [joinedAtFrom]\n   * @param {string} [joinedAtTo]\n   * @param {Array<string>} [agentId]\n   * @param {string} [sort]\n   * @param {string} [domainId]\n   * @param {string} [fromId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentServiceApi\n   */\n  public searchAgentStateHistory(\n    page?: number,\n    size?: number,\n    joinedAtFrom?: string,\n    joinedAtTo?: string,\n    agentId?: Array<string>,\n    sort?: string,\n    domainId?: string,\n    fromId?: string,\n    options?: any\n  ) {\n    return AgentServiceApiFp(this.configuration)\n      .searchAgentStateHistory(\n        page,\n        size,\n        joinedAtFrom,\n        joinedAtTo,\n        agentId,\n        sort,\n        domainId,\n        fromId,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<string>} [agentId]\n   * @param {string} [timeFrom]\n   * @param {string} [timeTo]\n   * @param {Array<string>} [status]\n   * @param {Array<number>} [queueId]\n   * @param {Array<number>} [teamId]\n   * @param {string} [utilizationFrom]\n   * @param {string} [utilizationTo]\n   * @param {boolean} [hasCall]\n   * @param {Array<number>} [skillId]\n   * @param {Array<number>} [regionId]\n   * @param {Array<number>} [supervisorId]\n   * @param {Array<string>} [auditorId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentServiceApi\n   */\n  public searchAgentStatusStatistic(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    agentId?: Array<string>,\n    timeFrom?: string,\n    timeTo?: string,\n    status?: Array<string>,\n    queueId?: Array<number>,\n    teamId?: Array<number>,\n    utilizationFrom?: string,\n    utilizationTo?: string,\n    hasCall?: boolean,\n    skillId?: Array<number>,\n    regionId?: Array<number>,\n    supervisorId?: Array<number>,\n    auditorId?: Array<string>,\n    options?: any\n  ) {\n    return AgentServiceApiFp(this.configuration)\n      .searchAgentStatusStatistic(\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        agentId,\n        timeFrom,\n        timeTo,\n        status,\n        queueId,\n        teamId,\n        utilizationFrom,\n        utilizationTo,\n        hasCall,\n        skillId,\n        regionId,\n        supervisorId,\n        auditorId,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} agentId\n   * @param {string} [timeFrom]\n   * @param {string} [timeTo]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentServiceApi\n   */\n  public searchAgentStatusStatisticItem(\n    agentId: string,\n    timeFrom?: string,\n    timeTo?: string,\n    options?: any\n  ) {\n    return AgentServiceApiFp(this.configuration)\n      .searchAgentStatusStatisticItem(agentId, timeFrom, timeTo, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary SearchLookupAgentNotExistsUser\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentServiceApi\n   */\n  public searchLookupUsersAgentNotExists(\n    page?: number,\n    size?: number,\n    q?: string,\n    domainId?: string,\n    options?: any\n  ) {\n    return AgentServiceApiFp(this.configuration)\n      .searchLookupUsersAgentNotExists(page, size, q, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} agentId\n   * @param {boolean} [allowChange]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentServiceApi\n   */\n  public searchPauseCauseForAgent(\n    agentId: string,\n    allowChange?: boolean,\n    options?: any\n  ) {\n    return AgentServiceApiFp(this.configuration)\n      .searchPauseCauseForAgent(agentId, allowChange, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary List of UserStatus\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentServiceApi\n   */\n  public searchUserStatus(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return AgentServiceApiFp(this.configuration)\n      .searchUserStatus(page, size, q, sort, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update Agent\n   * @param {string} id\n   * @param {EngineAgentServiceUpdateAgentBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentServiceApi\n   */\n  public updateAgent(\n    id: string,\n    body: EngineAgentServiceUpdateAgentBody,\n    options?: any\n  ) {\n    return AgentServiceApiFp(this.configuration)\n      .updateAgent(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Change agent status\n   * @param {string} id\n   * @param {EngineAgentServiceUpdateAgentStatusBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentServiceApi\n   */\n  public updateAgentStatus(\n    id: string,\n    body: EngineAgentServiceUpdateAgentStatusBody,\n    options?: any\n  ) {\n    return AgentServiceApiFp(this.configuration)\n      .updateAgentStatus(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { EngineAgentSkill } from '../api'\n// @ts-ignore\nimport { EngineAgentSkillServiceCreateAgentSkillBody } from '../api'\n// @ts-ignore\nimport { EngineAgentSkillServiceCreateAgentSkillsBody } from '../api'\n// @ts-ignore\nimport { EngineAgentSkillServicePatchAgentSkillBody } from '../api'\n// @ts-ignore\nimport { EngineAgentSkillServicePatchAgentSkillsBody } from '../api'\n// @ts-ignore\nimport { EngineAgentSkillServiceUpdateAgentSkillBody } from '../api'\n// @ts-ignore\nimport { EngineCreateAgentSkillsResponse } from '../api'\n// @ts-ignore\nimport { EngineListAgentSkill } from '../api'\n// @ts-ignore\nimport { EngineListSkill } from '../api'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n/**\n * AgentSkillServiceApi - axios parameter creator\n * @export\n */\nexport const AgentSkillServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create AgentSkill\n     * @param {string} agentId\n     * @param {EngineAgentSkillServiceCreateAgentSkillBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createAgentSkill: async (\n      agentId: string,\n      body: EngineAgentSkillServiceCreateAgentSkillBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'agentId' is not null or undefined\n      if (agentId === null || agentId === undefined) {\n        throw new RequiredError(\n          'agentId',\n          'Required parameter agentId was null or undefined when calling createAgentSkill.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createAgentSkill.'\n        )\n      }\n      const localVarPath = `/call_center/agents/{agent_id}/skills`.replace(\n        `{${'agent_id'}}`,\n        encodeURIComponent(String(agentId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} agentId\n     * @param {EngineAgentSkillServiceCreateAgentSkillsBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createAgentSkills: async (\n      agentId: string,\n      body: EngineAgentSkillServiceCreateAgentSkillsBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'agentId' is not null or undefined\n      if (agentId === null || agentId === undefined) {\n        throw new RequiredError(\n          'agentId',\n          'Required parameter agentId was null or undefined when calling createAgentSkills.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createAgentSkills.'\n        )\n      }\n      const localVarPath = `/call_center/agents/{agent_id}/skills/bulk`.replace(\n        `{${'agent_id'}}`,\n        encodeURIComponent(String(agentId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Remove AgentSkill\n     * @param {string} agentId\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteAgentSkill: async (\n      agentId: string,\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'agentId' is not null or undefined\n      if (agentId === null || agentId === undefined) {\n        throw new RequiredError(\n          'agentId',\n          'Required parameter agentId was null or undefined when calling deleteAgentSkill.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteAgentSkill.'\n        )\n      }\n      const localVarPath = `/call_center/agents/{agent_id}/skills/{id}`\n        .replace(`{${'agent_id'}}`, encodeURIComponent(String(agentId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} agentId\n     * @param {Array<string>} [id]\n     * @param {Array<string>} [skillId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteAgentSkills: async (\n      agentId: string,\n      id?: Array<string>,\n      skillId?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'agentId' is not null or undefined\n      if (agentId === null || agentId === undefined) {\n        throw new RequiredError(\n          'agentId',\n          'Required parameter agentId was null or undefined when calling deleteAgentSkills.'\n        )\n      }\n      const localVarPath = `/call_center/agents/{agent_id}/skills`.replace(\n        `{${'agent_id'}}`,\n        encodeURIComponent(String(agentId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (skillId) {\n        localVarQueryParameter['skill_id'] = skillId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} agentId\n     * @param {string} id\n     * @param {EngineAgentSkillServicePatchAgentSkillBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchAgentSkill: async (\n      agentId: string,\n      id: string,\n      body: EngineAgentSkillServicePatchAgentSkillBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'agentId' is not null or undefined\n      if (agentId === null || agentId === undefined) {\n        throw new RequiredError(\n          'agentId',\n          'Required parameter agentId was null or undefined when calling patchAgentSkill.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling patchAgentSkill.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling patchAgentSkill.'\n        )\n      }\n      const localVarPath = `/call_center/agents/{agent_id}/skills/{id}`\n        .replace(`{${'agent_id'}}`, encodeURIComponent(String(agentId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} agentId\n     * @param {EngineAgentSkillServicePatchAgentSkillsBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchAgentSkills: async (\n      agentId: string,\n      body: EngineAgentSkillServicePatchAgentSkillsBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'agentId' is not null or undefined\n      if (agentId === null || agentId === undefined) {\n        throw new RequiredError(\n          'agentId',\n          'Required parameter agentId was null or undefined when calling patchAgentSkills.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling patchAgentSkills.'\n        )\n      }\n      const localVarPath = `/call_center/agents/{agent_id}/skills`.replace(\n        `{${'agent_id'}}`,\n        encodeURIComponent(String(agentId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary AgentSkill item\n     * @param {string} agentId\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readAgentSkill: async (\n      agentId: string,\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'agentId' is not null or undefined\n      if (agentId === null || agentId === undefined) {\n        throw new RequiredError(\n          'agentId',\n          'Required parameter agentId was null or undefined when calling readAgentSkill.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readAgentSkill.'\n        )\n      }\n      const localVarPath = `/call_center/agents/{agent_id}/skills/{id}`\n        .replace(`{${'agent_id'}}`, encodeURIComponent(String(agentId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary List of AgentSkill\n     * @param {string} agentId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [id]\n     * @param {Array<string>} [skillId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAgentSkill: async (\n      agentId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<string>,\n      skillId?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'agentId' is not null or undefined\n      if (agentId === null || agentId === undefined) {\n        throw new RequiredError(\n          'agentId',\n          'Required parameter agentId was null or undefined when calling searchAgentSkill.'\n        )\n      }\n      const localVarPath = `/call_center/agents/{agent_id}/skills`.replace(\n        `{${'agent_id'}}`,\n        encodeURIComponent(String(agentId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (skillId) {\n        localVarQueryParameter['skill_id'] = skillId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary SearchLookupAgentNotExistsSkill\n     * @param {string} agentId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchLookupAgentNotExistsSkill: async (\n      agentId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'agentId' is not null or undefined\n      if (agentId === null || agentId === undefined) {\n        throw new RequiredError(\n          'agentId',\n          'Required parameter agentId was null or undefined when calling searchLookupAgentNotExistsSkill.'\n        )\n      }\n      const localVarPath = `/call_center/lookups/agents/skills/{agent_id}`.replace(\n        `{${'agent_id'}}`,\n        encodeURIComponent(String(agentId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update AgentSkill\n     * @param {string} agentId\n     * @param {string} id\n     * @param {EngineAgentSkillServiceUpdateAgentSkillBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateAgentSkill: async (\n      agentId: string,\n      id: string,\n      body: EngineAgentSkillServiceUpdateAgentSkillBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'agentId' is not null or undefined\n      if (agentId === null || agentId === undefined) {\n        throw new RequiredError(\n          'agentId',\n          'Required parameter agentId was null or undefined when calling updateAgentSkill.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateAgentSkill.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateAgentSkill.'\n        )\n      }\n      const localVarPath = `/call_center/agents/{agent_id}/skills/{id}`\n        .replace(`{${'agent_id'}}`, encodeURIComponent(String(agentId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * AgentSkillServiceApi - functional programming interface\n * @export\n */\nexport const AgentSkillServiceApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Create AgentSkill\n     * @param {string} agentId\n     * @param {EngineAgentSkillServiceCreateAgentSkillBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createAgentSkill(\n      agentId: string,\n      body: EngineAgentSkillServiceCreateAgentSkillBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineAgentSkill>\n    > {\n      const localVarAxiosArgs = await AgentSkillServiceApiAxiosParamCreator(\n        configuration\n      ).createAgentSkill(agentId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} agentId\n     * @param {EngineAgentSkillServiceCreateAgentSkillsBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createAgentSkills(\n      agentId: string,\n      body: EngineAgentSkillServiceCreateAgentSkillsBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineCreateAgentSkillsResponse>\n    > {\n      const localVarAxiosArgs = await AgentSkillServiceApiAxiosParamCreator(\n        configuration\n      ).createAgentSkills(agentId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Remove AgentSkill\n     * @param {string} agentId\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteAgentSkill(\n      agentId: string,\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineAgentSkill>\n    > {\n      const localVarAxiosArgs = await AgentSkillServiceApiAxiosParamCreator(\n        configuration\n      ).deleteAgentSkill(agentId, id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} agentId\n     * @param {Array<string>} [id]\n     * @param {Array<string>} [skillId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteAgentSkills(\n      agentId: string,\n      id?: Array<string>,\n      skillId?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListAgentSkill>\n    > {\n      const localVarAxiosArgs = await AgentSkillServiceApiAxiosParamCreator(\n        configuration\n      ).deleteAgentSkills(agentId, id, skillId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} agentId\n     * @param {string} id\n     * @param {EngineAgentSkillServicePatchAgentSkillBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async patchAgentSkill(\n      agentId: string,\n      id: string,\n      body: EngineAgentSkillServicePatchAgentSkillBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineAgentSkill>\n    > {\n      const localVarAxiosArgs = await AgentSkillServiceApiAxiosParamCreator(\n        configuration\n      ).patchAgentSkill(agentId, id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} agentId\n     * @param {EngineAgentSkillServicePatchAgentSkillsBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async patchAgentSkills(\n      agentId: string,\n      body: EngineAgentSkillServicePatchAgentSkillsBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListAgentSkill>\n    > {\n      const localVarAxiosArgs = await AgentSkillServiceApiAxiosParamCreator(\n        configuration\n      ).patchAgentSkills(agentId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary AgentSkill item\n     * @param {string} agentId\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readAgentSkill(\n      agentId: string,\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineAgentSkill>\n    > {\n      const localVarAxiosArgs = await AgentSkillServiceApiAxiosParamCreator(\n        configuration\n      ).readAgentSkill(agentId, id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary List of AgentSkill\n     * @param {string} agentId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [id]\n     * @param {Array<string>} [skillId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchAgentSkill(\n      agentId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<string>,\n      skillId?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListAgentSkill>\n    > {\n      const localVarAxiosArgs = await AgentSkillServiceApiAxiosParamCreator(\n        configuration\n      ).searchAgentSkill(\n        agentId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        skillId,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary SearchLookupAgentNotExistsSkill\n     * @param {string} agentId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchLookupAgentNotExistsSkill(\n      agentId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListSkill>\n    > {\n      const localVarAxiosArgs = await AgentSkillServiceApiAxiosParamCreator(\n        configuration\n      ).searchLookupAgentNotExistsSkill(\n        agentId,\n        page,\n        size,\n        q,\n        domainId,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update AgentSkill\n     * @param {string} agentId\n     * @param {string} id\n     * @param {EngineAgentSkillServiceUpdateAgentSkillBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateAgentSkill(\n      agentId: string,\n      id: string,\n      body: EngineAgentSkillServiceUpdateAgentSkillBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineAgentSkill>\n    > {\n      const localVarAxiosArgs = await AgentSkillServiceApiAxiosParamCreator(\n        configuration\n      ).updateAgentSkill(agentId, id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * AgentSkillServiceApi - factory interface\n * @export\n */\nexport const AgentSkillServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Create AgentSkill\n     * @param {string} agentId\n     * @param {EngineAgentSkillServiceCreateAgentSkillBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createAgentSkill(\n      agentId: string,\n      body: EngineAgentSkillServiceCreateAgentSkillBody,\n      options?: any\n    ): AxiosPromise<EngineAgentSkill> {\n      return AgentSkillServiceApiFp(configuration)\n        .createAgentSkill(agentId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} agentId\n     * @param {EngineAgentSkillServiceCreateAgentSkillsBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createAgentSkills(\n      agentId: string,\n      body: EngineAgentSkillServiceCreateAgentSkillsBody,\n      options?: any\n    ): AxiosPromise<EngineCreateAgentSkillsResponse> {\n      return AgentSkillServiceApiFp(configuration)\n        .createAgentSkills(agentId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Remove AgentSkill\n     * @param {string} agentId\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteAgentSkill(\n      agentId: string,\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineAgentSkill> {\n      return AgentSkillServiceApiFp(configuration)\n        .deleteAgentSkill(agentId, id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} agentId\n     * @param {Array<string>} [id]\n     * @param {Array<string>} [skillId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteAgentSkills(\n      agentId: string,\n      id?: Array<string>,\n      skillId?: Array<string>,\n      options?: any\n    ): AxiosPromise<EngineListAgentSkill> {\n      return AgentSkillServiceApiFp(configuration)\n        .deleteAgentSkills(agentId, id, skillId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} agentId\n     * @param {string} id\n     * @param {EngineAgentSkillServicePatchAgentSkillBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchAgentSkill(\n      agentId: string,\n      id: string,\n      body: EngineAgentSkillServicePatchAgentSkillBody,\n      options?: any\n    ): AxiosPromise<EngineAgentSkill> {\n      return AgentSkillServiceApiFp(configuration)\n        .patchAgentSkill(agentId, id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} agentId\n     * @param {EngineAgentSkillServicePatchAgentSkillsBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchAgentSkills(\n      agentId: string,\n      body: EngineAgentSkillServicePatchAgentSkillsBody,\n      options?: any\n    ): AxiosPromise<EngineListAgentSkill> {\n      return AgentSkillServiceApiFp(configuration)\n        .patchAgentSkills(agentId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary AgentSkill item\n     * @param {string} agentId\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readAgentSkill(\n      agentId: string,\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineAgentSkill> {\n      return AgentSkillServiceApiFp(configuration)\n        .readAgentSkill(agentId, id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary List of AgentSkill\n     * @param {string} agentId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [id]\n     * @param {Array<string>} [skillId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAgentSkill(\n      agentId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<string>,\n      skillId?: Array<string>,\n      options?: any\n    ): AxiosPromise<EngineListAgentSkill> {\n      return AgentSkillServiceApiFp(configuration)\n        .searchAgentSkill(\n          agentId,\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          id,\n          skillId,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary SearchLookupAgentNotExistsSkill\n     * @param {string} agentId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchLookupAgentNotExistsSkill(\n      agentId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineListSkill> {\n      return AgentSkillServiceApiFp(configuration)\n        .searchLookupAgentNotExistsSkill(\n          agentId,\n          page,\n          size,\n          q,\n          domainId,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update AgentSkill\n     * @param {string} agentId\n     * @param {string} id\n     * @param {EngineAgentSkillServiceUpdateAgentSkillBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateAgentSkill(\n      agentId: string,\n      id: string,\n      body: EngineAgentSkillServiceUpdateAgentSkillBody,\n      options?: any\n    ): AxiosPromise<EngineAgentSkill> {\n      return AgentSkillServiceApiFp(configuration)\n        .updateAgentSkill(agentId, id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * AgentSkillServiceApi - object-oriented interface\n * @export\n * @class AgentSkillServiceApi\n * @extends {BaseAPI}\n */\nexport class AgentSkillServiceApi extends BaseAPI {\n  /**\n   *\n   * @summary Create AgentSkill\n   * @param {string} agentId\n   * @param {EngineAgentSkillServiceCreateAgentSkillBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentSkillServiceApi\n   */\n  public createAgentSkill(\n    agentId: string,\n    body: EngineAgentSkillServiceCreateAgentSkillBody,\n    options?: any\n  ) {\n    return AgentSkillServiceApiFp(this.configuration)\n      .createAgentSkill(agentId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} agentId\n   * @param {EngineAgentSkillServiceCreateAgentSkillsBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentSkillServiceApi\n   */\n  public createAgentSkills(\n    agentId: string,\n    body: EngineAgentSkillServiceCreateAgentSkillsBody,\n    options?: any\n  ) {\n    return AgentSkillServiceApiFp(this.configuration)\n      .createAgentSkills(agentId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Remove AgentSkill\n   * @param {string} agentId\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentSkillServiceApi\n   */\n  public deleteAgentSkill(\n    agentId: string,\n    id: string,\n    domainId?: string,\n    options?: any\n  ) {\n    return AgentSkillServiceApiFp(this.configuration)\n      .deleteAgentSkill(agentId, id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} agentId\n   * @param {Array<string>} [id]\n   * @param {Array<string>} [skillId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentSkillServiceApi\n   */\n  public deleteAgentSkills(\n    agentId: string,\n    id?: Array<string>,\n    skillId?: Array<string>,\n    options?: any\n  ) {\n    return AgentSkillServiceApiFp(this.configuration)\n      .deleteAgentSkills(agentId, id, skillId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} agentId\n   * @param {string} id\n   * @param {EngineAgentSkillServicePatchAgentSkillBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentSkillServiceApi\n   */\n  public patchAgentSkill(\n    agentId: string,\n    id: string,\n    body: EngineAgentSkillServicePatchAgentSkillBody,\n    options?: any\n  ) {\n    return AgentSkillServiceApiFp(this.configuration)\n      .patchAgentSkill(agentId, id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} agentId\n   * @param {EngineAgentSkillServicePatchAgentSkillsBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentSkillServiceApi\n   */\n  public patchAgentSkills(\n    agentId: string,\n    body: EngineAgentSkillServicePatchAgentSkillsBody,\n    options?: any\n  ) {\n    return AgentSkillServiceApiFp(this.configuration)\n      .patchAgentSkills(agentId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary AgentSkill item\n   * @param {string} agentId\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentSkillServiceApi\n   */\n  public readAgentSkill(\n    agentId: string,\n    id: string,\n    domainId?: string,\n    options?: any\n  ) {\n    return AgentSkillServiceApiFp(this.configuration)\n      .readAgentSkill(agentId, id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary List of AgentSkill\n   * @param {string} agentId\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<string>} [id]\n   * @param {Array<string>} [skillId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentSkillServiceApi\n   */\n  public searchAgentSkill(\n    agentId: string,\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<string>,\n    skillId?: Array<string>,\n    options?: any\n  ) {\n    return AgentSkillServiceApiFp(this.configuration)\n      .searchAgentSkill(\n        agentId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        skillId,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary SearchLookupAgentNotExistsSkill\n   * @param {string} agentId\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentSkillServiceApi\n   */\n  public searchLookupAgentNotExistsSkill(\n    agentId: string,\n    page?: number,\n    size?: number,\n    q?: string,\n    domainId?: string,\n    options?: any\n  ) {\n    return AgentSkillServiceApiFp(this.configuration)\n      .searchLookupAgentNotExistsSkill(\n        agentId,\n        page,\n        size,\n        q,\n        domainId,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update AgentSkill\n   * @param {string} agentId\n   * @param {string} id\n   * @param {EngineAgentSkillServiceUpdateAgentSkillBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentSkillServiceApi\n   */\n  public updateAgentSkill(\n    agentId: string,\n    id: string,\n    body: EngineAgentSkillServiceUpdateAgentSkillBody,\n    options?: any\n  ) {\n    return AgentSkillServiceApiFp(this.configuration)\n      .updateAgentSkill(agentId, id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { EngineAgentTeam } from '../api'\n// @ts-ignore\nimport { EngineAgentTeamServiceUpdateAgentTeamBody } from '../api'\n// @ts-ignore\nimport { EngineCreateAgentTeamRequest } from '../api'\n// @ts-ignore\nimport { EngineListAgentTeam } from '../api'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n/**\n * AgentTeamServiceApi - axios parameter creator\n * @export\n */\nexport const AgentTeamServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create AgentTeam\n     * @param {EngineCreateAgentTeamRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createAgentTeam: async (\n      body: EngineCreateAgentTeamRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createAgentTeam.'\n        )\n      }\n      const localVarPath = `/call_center/teams`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Remove AgentTeam\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteAgentTeam: async (\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteAgentTeam.'\n        )\n      }\n      const localVarPath = `/call_center/teams/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary AgentTeam item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readAgentTeam: async (\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readAgentTeam.'\n        )\n      }\n      const localVarPath = `/call_center/teams/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary List of AgentTeam\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {Array<string>} [strategy]\n     * @param {Array<number>} [adminId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAgentTeam: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      strategy?: Array<string>,\n      adminId?: Array<number>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/call_center/teams`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (strategy) {\n        localVarQueryParameter['strategy'] = strategy\n      }\n\n      if (adminId) {\n        localVarQueryParameter['admin_id'] = adminId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update AgentTeam\n     * @param {string} id\n     * @param {EngineAgentTeamServiceUpdateAgentTeamBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateAgentTeam: async (\n      id: string,\n      body: EngineAgentTeamServiceUpdateAgentTeamBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateAgentTeam.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateAgentTeam.'\n        )\n      }\n      const localVarPath = `/call_center/teams/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * AgentTeamServiceApi - functional programming interface\n * @export\n */\nexport const AgentTeamServiceApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Create AgentTeam\n     * @param {EngineCreateAgentTeamRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createAgentTeam(\n      body: EngineCreateAgentTeamRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineAgentTeam>\n    > {\n      const localVarAxiosArgs = await AgentTeamServiceApiAxiosParamCreator(\n        configuration\n      ).createAgentTeam(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Remove AgentTeam\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteAgentTeam(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineAgentTeam>\n    > {\n      const localVarAxiosArgs = await AgentTeamServiceApiAxiosParamCreator(\n        configuration\n      ).deleteAgentTeam(id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary AgentTeam item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readAgentTeam(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineAgentTeam>\n    > {\n      const localVarAxiosArgs = await AgentTeamServiceApiAxiosParamCreator(\n        configuration\n      ).readAgentTeam(id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary List of AgentTeam\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {Array<string>} [strategy]\n     * @param {Array<number>} [adminId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchAgentTeam(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      strategy?: Array<string>,\n      adminId?: Array<number>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListAgentTeam>\n    > {\n      const localVarAxiosArgs = await AgentTeamServiceApiAxiosParamCreator(\n        configuration\n      ).searchAgentTeam(\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        strategy,\n        adminId,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update AgentTeam\n     * @param {string} id\n     * @param {EngineAgentTeamServiceUpdateAgentTeamBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateAgentTeam(\n      id: string,\n      body: EngineAgentTeamServiceUpdateAgentTeamBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineAgentTeam>\n    > {\n      const localVarAxiosArgs = await AgentTeamServiceApiAxiosParamCreator(\n        configuration\n      ).updateAgentTeam(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * AgentTeamServiceApi - factory interface\n * @export\n */\nexport const AgentTeamServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Create AgentTeam\n     * @param {EngineCreateAgentTeamRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createAgentTeam(\n      body: EngineCreateAgentTeamRequest,\n      options?: any\n    ): AxiosPromise<EngineAgentTeam> {\n      return AgentTeamServiceApiFp(configuration)\n        .createAgentTeam(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Remove AgentTeam\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteAgentTeam(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineAgentTeam> {\n      return AgentTeamServiceApiFp(configuration)\n        .deleteAgentTeam(id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary AgentTeam item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readAgentTeam(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineAgentTeam> {\n      return AgentTeamServiceApiFp(configuration)\n        .readAgentTeam(id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary List of AgentTeam\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {Array<string>} [strategy]\n     * @param {Array<number>} [adminId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAgentTeam(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      strategy?: Array<string>,\n      adminId?: Array<number>,\n      options?: any\n    ): AxiosPromise<EngineListAgentTeam> {\n      return AgentTeamServiceApiFp(configuration)\n        .searchAgentTeam(\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          id,\n          strategy,\n          adminId,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update AgentTeam\n     * @param {string} id\n     * @param {EngineAgentTeamServiceUpdateAgentTeamBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateAgentTeam(\n      id: string,\n      body: EngineAgentTeamServiceUpdateAgentTeamBody,\n      options?: any\n    ): AxiosPromise<EngineAgentTeam> {\n      return AgentTeamServiceApiFp(configuration)\n        .updateAgentTeam(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * AgentTeamServiceApi - object-oriented interface\n * @export\n * @class AgentTeamServiceApi\n * @extends {BaseAPI}\n */\nexport class AgentTeamServiceApi extends BaseAPI {\n  /**\n   *\n   * @summary Create AgentTeam\n   * @param {EngineCreateAgentTeamRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentTeamServiceApi\n   */\n  public createAgentTeam(body: EngineCreateAgentTeamRequest, options?: any) {\n    return AgentTeamServiceApiFp(this.configuration)\n      .createAgentTeam(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Remove AgentTeam\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentTeamServiceApi\n   */\n  public deleteAgentTeam(id: string, domainId?: string, options?: any) {\n    return AgentTeamServiceApiFp(this.configuration)\n      .deleteAgentTeam(id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary AgentTeam item\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentTeamServiceApi\n   */\n  public readAgentTeam(id: string, domainId?: string, options?: any) {\n    return AgentTeamServiceApiFp(this.configuration)\n      .readAgentTeam(id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary List of AgentTeam\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<number>} [id]\n   * @param {Array<string>} [strategy]\n   * @param {Array<number>} [adminId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentTeamServiceApi\n   */\n  public searchAgentTeam(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<number>,\n    strategy?: Array<string>,\n    adminId?: Array<number>,\n    options?: any\n  ) {\n    return AgentTeamServiceApiFp(this.configuration)\n      .searchAgentTeam(\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        strategy,\n        adminId,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update AgentTeam\n   * @param {string} id\n   * @param {EngineAgentTeamServiceUpdateAgentTeamBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentTeamServiceApi\n   */\n  public updateAgentTeam(\n    id: string,\n    body: EngineAgentTeamServiceUpdateAgentTeamBody,\n    options?: any\n  ) {\n    return AgentTeamServiceApiFp(this.configuration)\n      .updateAgentTeam(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { InlineObject6 } from '../api'\n// @ts-ignore\nimport { WfmReadAgentWorkingConditionsResponse } from '../api'\n// @ts-ignore\nimport { WfmUpdateAgentWorkingConditionsResponse } from '../api'\n/**\n * AgentWorkingConditionsServiceApi - axios parameter creator\n * @export\n */\nexport const AgentWorkingConditionsServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {string} agentId\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readAgentWorkingConditions: async (\n      agentId: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'agentId' is not null or undefined\n      if (agentId === null || agentId === undefined) {\n        throw new RequiredError(\n          'agentId',\n          'Required parameter agentId was null or undefined when calling readAgentWorkingConditions.'\n        )\n      }\n      const localVarPath = `/wfm/agents/{agent_id}/conditions`.replace(\n        `{${'agent_id'}}`,\n        encodeURIComponent(String(agentId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} agentId\n     * @param {InlineObject6} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateAgentWorkingConditions: async (\n      agentId: string,\n      body: InlineObject6,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'agentId' is not null or undefined\n      if (agentId === null || agentId === undefined) {\n        throw new RequiredError(\n          'agentId',\n          'Required parameter agentId was null or undefined when calling updateAgentWorkingConditions.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateAgentWorkingConditions.'\n        )\n      }\n      const localVarPath = `/wfm/agents/{agent_id}/conditions`.replace(\n        `{${'agent_id'}}`,\n        encodeURIComponent(String(agentId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * AgentWorkingConditionsServiceApi - functional programming interface\n * @export\n */\nexport const AgentWorkingConditionsServiceApiFp = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {string} agentId\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readAgentWorkingConditions(\n      agentId: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmReadAgentWorkingConditionsResponse>\n    > {\n      const localVarAxiosArgs = await AgentWorkingConditionsServiceApiAxiosParamCreator(\n        configuration\n      ).readAgentWorkingConditions(agentId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} agentId\n     * @param {InlineObject6} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateAgentWorkingConditions(\n      agentId: string,\n      body: InlineObject6,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmUpdateAgentWorkingConditionsResponse>\n    > {\n      const localVarAxiosArgs = await AgentWorkingConditionsServiceApiAxiosParamCreator(\n        configuration\n      ).updateAgentWorkingConditions(agentId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * AgentWorkingConditionsServiceApi - factory interface\n * @export\n */\nexport const AgentWorkingConditionsServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {string} agentId\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readAgentWorkingConditions(\n      agentId: string,\n      options?: any\n    ): AxiosPromise<WfmReadAgentWorkingConditionsResponse> {\n      return AgentWorkingConditionsServiceApiFp(configuration)\n        .readAgentWorkingConditions(agentId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} agentId\n     * @param {InlineObject6} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateAgentWorkingConditions(\n      agentId: string,\n      body: InlineObject6,\n      options?: any\n    ): AxiosPromise<WfmUpdateAgentWorkingConditionsResponse> {\n      return AgentWorkingConditionsServiceApiFp(configuration)\n        .updateAgentWorkingConditions(agentId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * AgentWorkingConditionsServiceApi - object-oriented interface\n * @export\n * @class AgentWorkingConditionsServiceApi\n * @extends {BaseAPI}\n */\nexport class AgentWorkingConditionsServiceApi extends BaseAPI {\n  /**\n   *\n   * @param {string} agentId\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentWorkingConditionsServiceApi\n   */\n  public readAgentWorkingConditions(agentId: string, options?: any) {\n    return AgentWorkingConditionsServiceApiFp(this.configuration)\n      .readAgentWorkingConditions(agentId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} agentId\n   * @param {InlineObject6} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentWorkingConditionsServiceApi\n   */\n  public updateAgentWorkingConditions(\n    agentId: string,\n    body: InlineObject6,\n    options?: any\n  ) {\n    return AgentWorkingConditionsServiceApiFp(this.configuration)\n      .updateAgentWorkingConditions(agentId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { InlineObject3 } from '../api'\n// @ts-ignore\nimport { WfmCreateAgentsWorkingScheduleShiftsResponse } from '../api'\n// @ts-ignore\nimport { WfmSearchAgentsWorkingScheduleResponse } from '../api'\n/**\n * AgentWorkingScheduleServiceApi - axios parameter creator\n * @export\n */\nexport const AgentWorkingScheduleServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {string} workingScheduleId\n     * @param {InlineObject3} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createAgentsWorkingScheduleShifts: async (\n      workingScheduleId: string,\n      body: InlineObject3,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'workingScheduleId' is not null or undefined\n      if (workingScheduleId === null || workingScheduleId === undefined) {\n        throw new RequiredError(\n          'workingScheduleId',\n          'Required parameter workingScheduleId was null or undefined when calling createAgentsWorkingScheduleShifts.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createAgentsWorkingScheduleShifts.'\n        )\n      }\n      const localVarPath = `/wfm/agents/working_schedules/{working_schedule_id}`.replace(\n        `{${'working_schedule_id'}}`,\n        encodeURIComponent(String(workingScheduleId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} workingScheduleId\n     * @param {string} [dateFrom]\n     * @param {string} [dateTo]\n     * @param {Array<string>} [supervisorId]\n     * @param {Array<string>} [teamId]\n     * @param {Array<string>} [skillId]\n     * @param {string} [q]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAgentsWorkingSchedule: async (\n      workingScheduleId: string,\n      dateFrom?: string,\n      dateTo?: string,\n      supervisorId?: Array<string>,\n      teamId?: Array<string>,\n      skillId?: Array<string>,\n      q?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'workingScheduleId' is not null or undefined\n      if (workingScheduleId === null || workingScheduleId === undefined) {\n        throw new RequiredError(\n          'workingScheduleId',\n          'Required parameter workingScheduleId was null or undefined when calling searchAgentsWorkingSchedule.'\n        )\n      }\n      const localVarPath = `/wfm/agents/working_schedules/{working_schedule_id}`.replace(\n        `{${'working_schedule_id'}}`,\n        encodeURIComponent(String(workingScheduleId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (dateFrom !== undefined) {\n        localVarQueryParameter['date.from'] = dateFrom\n      }\n\n      if (dateTo !== undefined) {\n        localVarQueryParameter['date.to'] = dateTo\n      }\n\n      if (supervisorId) {\n        localVarQueryParameter['supervisor_id'] = supervisorId\n      }\n\n      if (teamId) {\n        localVarQueryParameter['team_id'] = teamId\n      }\n\n      if (skillId) {\n        localVarQueryParameter['skill_id'] = skillId\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * AgentWorkingScheduleServiceApi - functional programming interface\n * @export\n */\nexport const AgentWorkingScheduleServiceApiFp = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {string} workingScheduleId\n     * @param {InlineObject3} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createAgentsWorkingScheduleShifts(\n      workingScheduleId: string,\n      body: InlineObject3,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmCreateAgentsWorkingScheduleShiftsResponse>\n    > {\n      const localVarAxiosArgs = await AgentWorkingScheduleServiceApiAxiosParamCreator(\n        configuration\n      ).createAgentsWorkingScheduleShifts(workingScheduleId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} workingScheduleId\n     * @param {string} [dateFrom]\n     * @param {string} [dateTo]\n     * @param {Array<string>} [supervisorId]\n     * @param {Array<string>} [teamId]\n     * @param {Array<string>} [skillId]\n     * @param {string} [q]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchAgentsWorkingSchedule(\n      workingScheduleId: string,\n      dateFrom?: string,\n      dateTo?: string,\n      supervisorId?: Array<string>,\n      teamId?: Array<string>,\n      skillId?: Array<string>,\n      q?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmSearchAgentsWorkingScheduleResponse>\n    > {\n      const localVarAxiosArgs = await AgentWorkingScheduleServiceApiAxiosParamCreator(\n        configuration\n      ).searchAgentsWorkingSchedule(\n        workingScheduleId,\n        dateFrom,\n        dateTo,\n        supervisorId,\n        teamId,\n        skillId,\n        q,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * AgentWorkingScheduleServiceApi - factory interface\n * @export\n */\nexport const AgentWorkingScheduleServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {string} workingScheduleId\n     * @param {InlineObject3} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createAgentsWorkingScheduleShifts(\n      workingScheduleId: string,\n      body: InlineObject3,\n      options?: any\n    ): AxiosPromise<WfmCreateAgentsWorkingScheduleShiftsResponse> {\n      return AgentWorkingScheduleServiceApiFp(configuration)\n        .createAgentsWorkingScheduleShifts(workingScheduleId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} workingScheduleId\n     * @param {string} [dateFrom]\n     * @param {string} [dateTo]\n     * @param {Array<string>} [supervisorId]\n     * @param {Array<string>} [teamId]\n     * @param {Array<string>} [skillId]\n     * @param {string} [q]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAgentsWorkingSchedule(\n      workingScheduleId: string,\n      dateFrom?: string,\n      dateTo?: string,\n      supervisorId?: Array<string>,\n      teamId?: Array<string>,\n      skillId?: Array<string>,\n      q?: string,\n      options?: any\n    ): AxiosPromise<WfmSearchAgentsWorkingScheduleResponse> {\n      return AgentWorkingScheduleServiceApiFp(configuration)\n        .searchAgentsWorkingSchedule(\n          workingScheduleId,\n          dateFrom,\n          dateTo,\n          supervisorId,\n          teamId,\n          skillId,\n          q,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * AgentWorkingScheduleServiceApi - object-oriented interface\n * @export\n * @class AgentWorkingScheduleServiceApi\n * @extends {BaseAPI}\n */\nexport class AgentWorkingScheduleServiceApi extends BaseAPI {\n  /**\n   *\n   * @param {string} workingScheduleId\n   * @param {InlineObject3} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentWorkingScheduleServiceApi\n   */\n  public createAgentsWorkingScheduleShifts(\n    workingScheduleId: string,\n    body: InlineObject3,\n    options?: any\n  ) {\n    return AgentWorkingScheduleServiceApiFp(this.configuration)\n      .createAgentsWorkingScheduleShifts(workingScheduleId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} workingScheduleId\n   * @param {string} [dateFrom]\n   * @param {string} [dateTo]\n   * @param {Array<string>} [supervisorId]\n   * @param {Array<string>} [teamId]\n   * @param {Array<string>} [skillId]\n   * @param {string} [q]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AgentWorkingScheduleServiceApi\n   */\n  public searchAgentsWorkingSchedule(\n    workingScheduleId: string,\n    dateFrom?: string,\n    dateTo?: string,\n    supervisorId?: Array<string>,\n    teamId?: Array<string>,\n    skillId?: Array<string>,\n    q?: string,\n    options?: any\n  ) {\n    return AgentWorkingScheduleServiceApiFp(this.configuration)\n      .searchAgentsWorkingSchedule(\n        workingScheduleId,\n        dateFrom,\n        dateTo,\n        supervisorId,\n        teamId,\n        skillId,\n        q,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { NEWUpdateOfTheArticleLink } from '../api'\n// @ts-ignore\nimport { WebitelKnowledgebaseArticle } from '../api'\n// @ts-ignore\nimport { WebitelKnowledgebaseArticleList } from '../api'\n// @ts-ignore\nimport { WebitelKnowledgebaseArticleVersion } from '../api'\n// @ts-ignore\nimport { WebitelKnowledgebaseArticleVersionList } from '../api'\n// @ts-ignore\nimport { WebitelKnowledgebaseAttachmentList } from '../api'\n// @ts-ignore\nimport { WebitelKnowledgebaseInputArticle } from '../api'\n/**\n * ArticlesApi - axios parameter creator\n * @export\n */\nexport const ArticlesApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {string} spaceId Space ID associated with.\n     * @param {string} articleId Record(s) with unique ID only.\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    articleVersionsList: async (\n      spaceId: string,\n      articleId: string,\n      page?: number,\n      size?: number,\n      sort?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'spaceId' is not null or undefined\n      if (spaceId === null || spaceId === undefined) {\n        throw new RequiredError(\n          'spaceId',\n          'Required parameter spaceId was null or undefined when calling articleVersionsList.'\n        )\n      }\n      // verify required parameter 'articleId' is not null or undefined\n      if (articleId === null || articleId === undefined) {\n        throw new RequiredError(\n          'articleId',\n          'Required parameter articleId was null or undefined when calling articleVersionsList.'\n        )\n      }\n      const localVarPath = `/spaces/{space_id}/articles/{article_id}/history`\n        .replace(`{${'space_id'}}`, encodeURIComponent(String(spaceId)))\n        .replace(`{${'article_id'}}`, encodeURIComponent(String(articleId)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} spaceId Space ID associated with.\n     * @param {string} articleId Record(s) with unique ID only.\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    articlesAttachmentList: async (\n      spaceId: string,\n      articleId: string,\n      page?: number,\n      size?: number,\n      sort?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'spaceId' is not null or undefined\n      if (spaceId === null || spaceId === undefined) {\n        throw new RequiredError(\n          'spaceId',\n          'Required parameter spaceId was null or undefined when calling articlesAttachmentList.'\n        )\n      }\n      // verify required parameter 'articleId' is not null or undefined\n      if (articleId === null || articleId === undefined) {\n        throw new RequiredError(\n          'articleId',\n          'Required parameter articleId was null or undefined when calling articlesAttachmentList.'\n        )\n      }\n      const localVarPath = `/spaces/{space_id}/articles/{article_id}/attachments`\n        .replace(`{${'space_id'}}`, encodeURIComponent(String(spaceId)))\n        .replace(`{${'article_id'}}`, encodeURIComponent(String(articleId)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} spaceId Link space ID.\n     * @param {WebitelKnowledgebaseInputArticle} input NEW Update of the Article link.\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createArticle: async (\n      spaceId: string,\n      input: WebitelKnowledgebaseInputArticle,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'spaceId' is not null or undefined\n      if (spaceId === null || spaceId === undefined) {\n        throw new RequiredError(\n          'spaceId',\n          'Required parameter spaceId was null or undefined when calling createArticle.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling createArticle.'\n        )\n      }\n      const localVarPath = `/spaces/{space_id}/articles`.replace(\n        `{${'space_id'}}`,\n        encodeURIComponent(String(spaceId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Remove the space\\'s Article association.\n     * @param {string} spaceId Space ID associated with.\n     * @param {string} etag Unique ID to remove.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteArticle: async (\n      spaceId: string,\n      etag: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'spaceId' is not null or undefined\n      if (spaceId === null || spaceId === undefined) {\n        throw new RequiredError(\n          'spaceId',\n          'Required parameter spaceId was null or undefined when calling deleteArticle.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling deleteArticle.'\n        )\n      }\n      const localVarPath = `/spaces/{space_id}/articles/{etag}`\n        .replace(`{${'space_id'}}`, encodeURIComponent(String(spaceId)))\n        .replace(`{${'etag'}}`, encodeURIComponent(String(etag)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary List of the Space\\'s Article(s).\n     * @param {string} spaceId Space ID associated with.\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {string} [q] Search term: location name; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {string} [articleId] Record(s) with unique ID only.\n     * @param {boolean} [state] Active Article only.\n     * @param {Array<string>} [tags] Tags associated with the article.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listArticles: async (\n      spaceId: string,\n      page?: number,\n      size?: number,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      q?: string,\n      articleId?: string,\n      state?: boolean,\n      tags?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'spaceId' is not null or undefined\n      if (spaceId === null || spaceId === undefined) {\n        throw new RequiredError(\n          'spaceId',\n          'Required parameter spaceId was null or undefined when calling listArticles.'\n        )\n      }\n      const localVarPath = `/spaces/{space_id}/articles`.replace(\n        `{${'space_id'}}`,\n        encodeURIComponent(String(spaceId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (articleId !== undefined) {\n        localVarQueryParameter['article_id'] = articleId\n      }\n\n      if (state !== undefined) {\n        localVarQueryParameter['state'] = state\n      }\n\n      if (tags) {\n        localVarQueryParameter['tags'] = tags\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary List of the Space\\'s Article(s).\n     * @param {string} spaceId Space ID associated with.\n     * @param {string} articleId Record(s) with unique ID only.\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {string} [q] Search term: location name; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {boolean} [state] Active Article only.\n     * @param {Array<string>} [tags] Tags associated with the article.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listArticles2: async (\n      spaceId: string,\n      articleId: string,\n      page?: number,\n      size?: number,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      q?: string,\n      state?: boolean,\n      tags?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'spaceId' is not null or undefined\n      if (spaceId === null || spaceId === undefined) {\n        throw new RequiredError(\n          'spaceId',\n          'Required parameter spaceId was null or undefined when calling listArticles2.'\n        )\n      }\n      // verify required parameter 'articleId' is not null or undefined\n      if (articleId === null || articleId === undefined) {\n        throw new RequiredError(\n          'articleId',\n          'Required parameter articleId was null or undefined when calling listArticles2.'\n        )\n      }\n      const localVarPath = `/spaces/{space_id}/articles/{article_id}/childrens`\n        .replace(`{${'space_id'}}`, encodeURIComponent(String(spaceId)))\n        .replace(`{${'article_id'}}`, encodeURIComponent(String(articleId)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (state !== undefined) {\n        localVarQueryParameter['state'] = state\n      }\n\n      if (tags) {\n        localVarQueryParameter['tags'] = tags\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Locate the space\\'s Article association.\n     * @param {string} spaceId Space ID associated with.\n     * @param {string} etag Unique Article link IDentifier. Accept: &#x60;etag&#x60; (obsolete+) or &#x60;id&#x60;.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateArticle: async (\n      spaceId: string,\n      etag: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'spaceId' is not null or undefined\n      if (spaceId === null || spaceId === undefined) {\n        throw new RequiredError(\n          'spaceId',\n          'Required parameter spaceId was null or undefined when calling locateArticle.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling locateArticle.'\n        )\n      }\n      const localVarPath = `/spaces/{space_id}/articles/{etag}`\n        .replace(`{${'space_id'}}`, encodeURIComponent(String(spaceId)))\n        .replace(`{${'etag'}}`, encodeURIComponent(String(etag)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} spaceId Space ID associated with.\n     * @param {string} articleId Record(s) with unique ID only.\n     * @param {string} versionId The unique ID of version record\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateArticleVersion: async (\n      spaceId: string,\n      articleId: string,\n      versionId: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'spaceId' is not null or undefined\n      if (spaceId === null || spaceId === undefined) {\n        throw new RequiredError(\n          'spaceId',\n          'Required parameter spaceId was null or undefined when calling locateArticleVersion.'\n        )\n      }\n      // verify required parameter 'articleId' is not null or undefined\n      if (articleId === null || articleId === undefined) {\n        throw new RequiredError(\n          'articleId',\n          'Required parameter articleId was null or undefined when calling locateArticleVersion.'\n        )\n      }\n      // verify required parameter 'versionId' is not null or undefined\n      if (versionId === null || versionId === undefined) {\n        throw new RequiredError(\n          'versionId',\n          'Required parameter versionId was null or undefined when calling locateArticleVersion.'\n        )\n      }\n      const localVarPath = `/spaces/{space_id}/articles/{article_id}/history/{version_id}`\n        .replace(`{${'space_id'}}`, encodeURIComponent(String(spaceId)))\n        .replace(`{${'article_id'}}`, encodeURIComponent(String(articleId)))\n        .replace(`{${'version_id'}}`, encodeURIComponent(String(versionId)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update the space\\'s Article details.\n     * @param {string} spaceId Link space ID.\n     * @param {string} etag Unique ID of the latest version of an existing resource.\n     * @param {NEWUpdateOfTheArticleLink} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateArticle: async (\n      spaceId: string,\n      etag: string,\n      input: NEWUpdateOfTheArticleLink,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'spaceId' is not null or undefined\n      if (spaceId === null || spaceId === undefined) {\n        throw new RequiredError(\n          'spaceId',\n          'Required parameter spaceId was null or undefined when calling updateArticle.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling updateArticle.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateArticle.'\n        )\n      }\n      const localVarPath = `/spaces/{space_id}/articles/{etag}`\n        .replace(`{${'space_id'}}`, encodeURIComponent(String(spaceId)))\n        .replace(`{${'etag'}}`, encodeURIComponent(String(etag)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * ArticlesApi - functional programming interface\n * @export\n */\nexport const ArticlesApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @param {string} spaceId Space ID associated with.\n     * @param {string} articleId Record(s) with unique ID only.\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async articleVersionsList(\n      spaceId: string,\n      articleId: string,\n      page?: number,\n      size?: number,\n      sort?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelKnowledgebaseArticleVersionList>\n    > {\n      const localVarAxiosArgs = await ArticlesApiAxiosParamCreator(\n        configuration\n      ).articleVersionsList(spaceId, articleId, page, size, sort, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} spaceId Space ID associated with.\n     * @param {string} articleId Record(s) with unique ID only.\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async articlesAttachmentList(\n      spaceId: string,\n      articleId: string,\n      page?: number,\n      size?: number,\n      sort?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelKnowledgebaseAttachmentList>\n    > {\n      const localVarAxiosArgs = await ArticlesApiAxiosParamCreator(\n        configuration\n      ).articlesAttachmentList(spaceId, articleId, page, size, sort, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} spaceId Link space ID.\n     * @param {WebitelKnowledgebaseInputArticle} input NEW Update of the Article link.\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createArticle(\n      spaceId: string,\n      input: WebitelKnowledgebaseInputArticle,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelKnowledgebaseArticleList>\n    > {\n      const localVarAxiosArgs = await ArticlesApiAxiosParamCreator(\n        configuration\n      ).createArticle(spaceId, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Remove the space\\'s Article association.\n     * @param {string} spaceId Space ID associated with.\n     * @param {string} etag Unique ID to remove.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteArticle(\n      spaceId: string,\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelKnowledgebaseArticle>\n    > {\n      const localVarAxiosArgs = await ArticlesApiAxiosParamCreator(\n        configuration\n      ).deleteArticle(spaceId, etag, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary List of the Space\\'s Article(s).\n     * @param {string} spaceId Space ID associated with.\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {string} [q] Search term: location name; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {string} [articleId] Record(s) with unique ID only.\n     * @param {boolean} [state] Active Article only.\n     * @param {Array<string>} [tags] Tags associated with the article.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async listArticles(\n      spaceId: string,\n      page?: number,\n      size?: number,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      q?: string,\n      articleId?: string,\n      state?: boolean,\n      tags?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelKnowledgebaseArticleList>\n    > {\n      const localVarAxiosArgs = await ArticlesApiAxiosParamCreator(\n        configuration\n      ).listArticles(\n        spaceId,\n        page,\n        size,\n        sort,\n        fields,\n        q,\n        articleId,\n        state,\n        tags,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary List of the Space\\'s Article(s).\n     * @param {string} spaceId Space ID associated with.\n     * @param {string} articleId Record(s) with unique ID only.\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {string} [q] Search term: location name; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {boolean} [state] Active Article only.\n     * @param {Array<string>} [tags] Tags associated with the article.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async listArticles2(\n      spaceId: string,\n      articleId: string,\n      page?: number,\n      size?: number,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      q?: string,\n      state?: boolean,\n      tags?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelKnowledgebaseArticleList>\n    > {\n      const localVarAxiosArgs = await ArticlesApiAxiosParamCreator(\n        configuration\n      ).listArticles2(\n        spaceId,\n        articleId,\n        page,\n        size,\n        sort,\n        fields,\n        q,\n        state,\n        tags,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Locate the space\\'s Article association.\n     * @param {string} spaceId Space ID associated with.\n     * @param {string} etag Unique Article link IDentifier. Accept: &#x60;etag&#x60; (obsolete+) or &#x60;id&#x60;.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async locateArticle(\n      spaceId: string,\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelKnowledgebaseArticle>\n    > {\n      const localVarAxiosArgs = await ArticlesApiAxiosParamCreator(\n        configuration\n      ).locateArticle(spaceId, etag, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} spaceId Space ID associated with.\n     * @param {string} articleId Record(s) with unique ID only.\n     * @param {string} versionId The unique ID of version record\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async locateArticleVersion(\n      spaceId: string,\n      articleId: string,\n      versionId: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelKnowledgebaseArticleVersion>\n    > {\n      const localVarAxiosArgs = await ArticlesApiAxiosParamCreator(\n        configuration\n      ).locateArticleVersion(spaceId, articleId, versionId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update the space\\'s Article details.\n     * @param {string} spaceId Link space ID.\n     * @param {string} etag Unique ID of the latest version of an existing resource.\n     * @param {NEWUpdateOfTheArticleLink} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateArticle(\n      spaceId: string,\n      etag: string,\n      input: NEWUpdateOfTheArticleLink,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelKnowledgebaseArticleList>\n    > {\n      const localVarAxiosArgs = await ArticlesApiAxiosParamCreator(\n        configuration\n      ).updateArticle(spaceId, etag, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * ArticlesApi - factory interface\n * @export\n */\nexport const ArticlesApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {string} spaceId Space ID associated with.\n     * @param {string} articleId Record(s) with unique ID only.\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    articleVersionsList(\n      spaceId: string,\n      articleId: string,\n      page?: number,\n      size?: number,\n      sort?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelKnowledgebaseArticleVersionList> {\n      return ArticlesApiFp(configuration)\n        .articleVersionsList(spaceId, articleId, page, size, sort, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} spaceId Space ID associated with.\n     * @param {string} articleId Record(s) with unique ID only.\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    articlesAttachmentList(\n      spaceId: string,\n      articleId: string,\n      page?: number,\n      size?: number,\n      sort?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelKnowledgebaseAttachmentList> {\n      return ArticlesApiFp(configuration)\n        .articlesAttachmentList(spaceId, articleId, page, size, sort, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} spaceId Link space ID.\n     * @param {WebitelKnowledgebaseInputArticle} input NEW Update of the Article link.\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createArticle(\n      spaceId: string,\n      input: WebitelKnowledgebaseInputArticle,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelKnowledgebaseArticleList> {\n      return ArticlesApiFp(configuration)\n        .createArticle(spaceId, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Remove the space\\'s Article association.\n     * @param {string} spaceId Space ID associated with.\n     * @param {string} etag Unique ID to remove.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteArticle(\n      spaceId: string,\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelKnowledgebaseArticle> {\n      return ArticlesApiFp(configuration)\n        .deleteArticle(spaceId, etag, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary List of the Space\\'s Article(s).\n     * @param {string} spaceId Space ID associated with.\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {string} [q] Search term: location name; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {string} [articleId] Record(s) with unique ID only.\n     * @param {boolean} [state] Active Article only.\n     * @param {Array<string>} [tags] Tags associated with the article.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listArticles(\n      spaceId: string,\n      page?: number,\n      size?: number,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      q?: string,\n      articleId?: string,\n      state?: boolean,\n      tags?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelKnowledgebaseArticleList> {\n      return ArticlesApiFp(configuration)\n        .listArticles(\n          spaceId,\n          page,\n          size,\n          sort,\n          fields,\n          q,\n          articleId,\n          state,\n          tags,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary List of the Space\\'s Article(s).\n     * @param {string} spaceId Space ID associated with.\n     * @param {string} articleId Record(s) with unique ID only.\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {string} [q] Search term: location name; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {boolean} [state] Active Article only.\n     * @param {Array<string>} [tags] Tags associated with the article.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listArticles2(\n      spaceId: string,\n      articleId: string,\n      page?: number,\n      size?: number,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      q?: string,\n      state?: boolean,\n      tags?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelKnowledgebaseArticleList> {\n      return ArticlesApiFp(configuration)\n        .listArticles2(\n          spaceId,\n          articleId,\n          page,\n          size,\n          sort,\n          fields,\n          q,\n          state,\n          tags,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Locate the space\\'s Article association.\n     * @param {string} spaceId Space ID associated with.\n     * @param {string} etag Unique Article link IDentifier. Accept: &#x60;etag&#x60; (obsolete+) or &#x60;id&#x60;.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateArticle(\n      spaceId: string,\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelKnowledgebaseArticle> {\n      return ArticlesApiFp(configuration)\n        .locateArticle(spaceId, etag, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} spaceId Space ID associated with.\n     * @param {string} articleId Record(s) with unique ID only.\n     * @param {string} versionId The unique ID of version record\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateArticleVersion(\n      spaceId: string,\n      articleId: string,\n      versionId: string,\n      options?: any\n    ): AxiosPromise<WebitelKnowledgebaseArticleVersion> {\n      return ArticlesApiFp(configuration)\n        .locateArticleVersion(spaceId, articleId, versionId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update the space\\'s Article details.\n     * @param {string} spaceId Link space ID.\n     * @param {string} etag Unique ID of the latest version of an existing resource.\n     * @param {NEWUpdateOfTheArticleLink} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateArticle(\n      spaceId: string,\n      etag: string,\n      input: NEWUpdateOfTheArticleLink,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelKnowledgebaseArticleList> {\n      return ArticlesApiFp(configuration)\n        .updateArticle(spaceId, etag, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * ArticlesApi - object-oriented interface\n * @export\n * @class ArticlesApi\n * @extends {BaseAPI}\n */\nexport class ArticlesApi extends BaseAPI {\n  /**\n   *\n   * @param {string} spaceId Space ID associated with.\n   * @param {string} articleId Record(s) with unique ID only.\n   * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n   * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n   * @param {Array<string>} [sort] Sort the result according to fields.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ArticlesApi\n   */\n  public articleVersionsList(\n    spaceId: string,\n    articleId: string,\n    page?: number,\n    size?: number,\n    sort?: Array<string>,\n    options?: any\n  ) {\n    return ArticlesApiFp(this.configuration)\n      .articleVersionsList(spaceId, articleId, page, size, sort, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} spaceId Space ID associated with.\n   * @param {string} articleId Record(s) with unique ID only.\n   * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n   * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n   * @param {Array<string>} [sort] Sort the result according to fields.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ArticlesApi\n   */\n  public articlesAttachmentList(\n    spaceId: string,\n    articleId: string,\n    page?: number,\n    size?: number,\n    sort?: Array<string>,\n    options?: any\n  ) {\n    return ArticlesApiFp(this.configuration)\n      .articlesAttachmentList(spaceId, articleId, page, size, sort, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} spaceId Link space ID.\n   * @param {WebitelKnowledgebaseInputArticle} input NEW Update of the Article link.\n   * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ArticlesApi\n   */\n  public createArticle(\n    spaceId: string,\n    input: WebitelKnowledgebaseInputArticle,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return ArticlesApiFp(this.configuration)\n      .createArticle(spaceId, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Remove the space\\'s Article association.\n   * @param {string} spaceId Space ID associated with.\n   * @param {string} etag Unique ID to remove.\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ArticlesApi\n   */\n  public deleteArticle(\n    spaceId: string,\n    etag: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return ArticlesApiFp(this.configuration)\n      .deleteArticle(spaceId, etag, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary List of the Space\\'s Article(s).\n   * @param {string} spaceId Space ID associated with.\n   * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n   * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n   * @param {Array<string>} [sort] Sort the result according to fields.\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {string} [q] Search term: location name; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n   * @param {string} [articleId] Record(s) with unique ID only.\n   * @param {boolean} [state] Active Article only.\n   * @param {Array<string>} [tags] Tags associated with the article.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ArticlesApi\n   */\n  public listArticles(\n    spaceId: string,\n    page?: number,\n    size?: number,\n    sort?: Array<string>,\n    fields?: Array<string>,\n    q?: string,\n    articleId?: string,\n    state?: boolean,\n    tags?: Array<string>,\n    options?: any\n  ) {\n    return ArticlesApiFp(this.configuration)\n      .listArticles(\n        spaceId,\n        page,\n        size,\n        sort,\n        fields,\n        q,\n        articleId,\n        state,\n        tags,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary List of the Space\\'s Article(s).\n   * @param {string} spaceId Space ID associated with.\n   * @param {string} articleId Record(s) with unique ID only.\n   * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n   * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n   * @param {Array<string>} [sort] Sort the result according to fields.\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {string} [q] Search term: location name; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n   * @param {boolean} [state] Active Article only.\n   * @param {Array<string>} [tags] Tags associated with the article.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ArticlesApi\n   */\n  public listArticles2(\n    spaceId: string,\n    articleId: string,\n    page?: number,\n    size?: number,\n    sort?: Array<string>,\n    fields?: Array<string>,\n    q?: string,\n    state?: boolean,\n    tags?: Array<string>,\n    options?: any\n  ) {\n    return ArticlesApiFp(this.configuration)\n      .listArticles2(\n        spaceId,\n        articleId,\n        page,\n        size,\n        sort,\n        fields,\n        q,\n        state,\n        tags,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Locate the space\\'s Article association.\n   * @param {string} spaceId Space ID associated with.\n   * @param {string} etag Unique Article link IDentifier. Accept: &#x60;etag&#x60; (obsolete+) or &#x60;id&#x60;.\n   * @param {Array<string>} [fields] Fields to be retrieved into result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ArticlesApi\n   */\n  public locateArticle(\n    spaceId: string,\n    etag: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return ArticlesApiFp(this.configuration)\n      .locateArticle(spaceId, etag, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} spaceId Space ID associated with.\n   * @param {string} articleId Record(s) with unique ID only.\n   * @param {string} versionId The unique ID of version record\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ArticlesApi\n   */\n  public locateArticleVersion(\n    spaceId: string,\n    articleId: string,\n    versionId: string,\n    options?: any\n  ) {\n    return ArticlesApiFp(this.configuration)\n      .locateArticleVersion(spaceId, articleId, versionId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update the space\\'s Article details.\n   * @param {string} spaceId Link space ID.\n   * @param {string} etag Unique ID of the latest version of an existing resource.\n   * @param {NEWUpdateOfTheArticleLink} input\n   * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ArticlesApi\n   */\n  public updateArticle(\n    spaceId: string,\n    etag: string,\n    input: NEWUpdateOfTheArticleLink,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return ArticlesApiFp(this.configuration)\n      .updateArticle(spaceId, etag, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { EngineAuditForm } from '../api'\n// @ts-ignore\nimport { EngineAuditFormServicePatchAuditFormBody } from '../api'\n// @ts-ignore\nimport { EngineAuditFormServiceUpdateAuditFormBody } from '../api'\n// @ts-ignore\nimport { EngineAuditFormServiceUpdateAuditRateBody } from '../api'\n// @ts-ignore\nimport { EngineAuditRate } from '../api'\n// @ts-ignore\nimport { EngineCreateAuditFormRateRequest } from '../api'\n// @ts-ignore\nimport { EngineCreateAuditFormRequest } from '../api'\n// @ts-ignore\nimport { EngineListAuditForm } from '../api'\n// @ts-ignore\nimport { EngineListAuditRate } from '../api'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n/**\n * AuditFormServiceApi - axios parameter creator\n * @export\n */\nexport const AuditFormServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {EngineCreateAuditFormRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createAuditForm: async (\n      body: EngineCreateAuditFormRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createAuditForm.'\n        )\n      }\n      const localVarPath = `/call_center/audit/forms`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {EngineCreateAuditFormRateRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createAuditFormRate: async (\n      body: EngineCreateAuditFormRateRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createAuditFormRate.'\n        )\n      }\n      const localVarPath = `/call_center/audit/rate`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteAuditForm: async (\n      id: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteAuditForm.'\n        )\n      }\n      const localVarPath = `/call_center/audit/forms/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteAuditRate: async (\n      id: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteAuditRate.'\n        )\n      }\n      const localVarPath = `/call_center/audit/rate/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineAuditFormServicePatchAuditFormBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchAuditForm: async (\n      id: number,\n      body: EngineAuditFormServicePatchAuditFormBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling patchAuditForm.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling patchAuditForm.'\n        )\n      }\n      const localVarPath = `/call_center/audit/forms/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readAuditForm: async (\n      id: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readAuditForm.'\n        )\n      }\n      const localVarPath = `/call_center/audit/forms/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readAuditRate: async (\n      id: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readAuditRate.'\n        )\n      }\n      const localVarPath = `/call_center/audit/rate/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {Array<number>} [teamId]\n     * @param {boolean} [enabled]\n     * @param {boolean} [editable] bool archive &#x3D; 9;  bool active &#x3D; 11; // not archive\n     * @param {string} [question]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAuditForm: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      teamId?: Array<number>,\n      enabled?: boolean,\n      editable?: boolean,\n      question?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/call_center/audit/forms`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (teamId) {\n        localVarQueryParameter['team_id'] = teamId\n      }\n\n      if (enabled !== undefined) {\n        localVarQueryParameter['enabled'] = enabled\n      }\n\n      if (editable !== undefined) {\n        localVarQueryParameter['editable'] = editable\n      }\n\n      if (question !== undefined) {\n        localVarQueryParameter['question'] = question\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} formId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {string} [createdAtFrom]\n     * @param {string} [createdAtTo]\n     * @param {Array<number>} [id]\n     * @param {Array<string>} [callId]\n     * @param {Array<string>} [ratedUser]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAuditRate: async (\n      formId: number,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      createdAtFrom?: string,\n      createdAtTo?: string,\n      id?: Array<number>,\n      callId?: Array<string>,\n      ratedUser?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'formId' is not null or undefined\n      if (formId === null || formId === undefined) {\n        throw new RequiredError(\n          'formId',\n          'Required parameter formId was null or undefined when calling searchAuditRate.'\n        )\n      }\n      const localVarPath = `/call_center/audit/forms/{form_id}/rate`.replace(\n        `{${'form_id'}}`,\n        encodeURIComponent(String(formId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (createdAtFrom !== undefined) {\n        localVarQueryParameter['created_at.from'] = createdAtFrom\n      }\n\n      if (createdAtTo !== undefined) {\n        localVarQueryParameter['created_at.to'] = createdAtTo\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (callId) {\n        localVarQueryParameter['call_id'] = callId\n      }\n\n      if (ratedUser) {\n        localVarQueryParameter['rated_user'] = ratedUser\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineAuditFormServiceUpdateAuditFormBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateAuditForm: async (\n      id: number,\n      body: EngineAuditFormServiceUpdateAuditFormBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateAuditForm.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateAuditForm.'\n        )\n      }\n      const localVarPath = `/call_center/audit/forms/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineAuditFormServiceUpdateAuditRateBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateAuditRate: async (\n      id: string,\n      body: EngineAuditFormServiceUpdateAuditRateBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateAuditRate.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateAuditRate.'\n        )\n      }\n      const localVarPath = `/call_center/audit/rate/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * AuditFormServiceApi - functional programming interface\n * @export\n */\nexport const AuditFormServiceApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @param {EngineCreateAuditFormRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createAuditForm(\n      body: EngineCreateAuditFormRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineAuditForm>\n    > {\n      const localVarAxiosArgs = await AuditFormServiceApiAxiosParamCreator(\n        configuration\n      ).createAuditForm(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {EngineCreateAuditFormRateRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createAuditFormRate(\n      body: EngineCreateAuditFormRateRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineAuditRate>\n    > {\n      const localVarAxiosArgs = await AuditFormServiceApiAxiosParamCreator(\n        configuration\n      ).createAuditFormRate(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteAuditForm(\n      id: number,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineAuditForm>\n    > {\n      const localVarAxiosArgs = await AuditFormServiceApiAxiosParamCreator(\n        configuration\n      ).deleteAuditForm(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteAuditRate(\n      id: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineAuditRate>\n    > {\n      const localVarAxiosArgs = await AuditFormServiceApiAxiosParamCreator(\n        configuration\n      ).deleteAuditRate(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineAuditFormServicePatchAuditFormBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async patchAuditForm(\n      id: number,\n      body: EngineAuditFormServicePatchAuditFormBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineAuditForm>\n    > {\n      const localVarAxiosArgs = await AuditFormServiceApiAxiosParamCreator(\n        configuration\n      ).patchAuditForm(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readAuditForm(\n      id: number,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineAuditForm>\n    > {\n      const localVarAxiosArgs = await AuditFormServiceApiAxiosParamCreator(\n        configuration\n      ).readAuditForm(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readAuditRate(\n      id: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineAuditRate>\n    > {\n      const localVarAxiosArgs = await AuditFormServiceApiAxiosParamCreator(\n        configuration\n      ).readAuditRate(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {Array<number>} [teamId]\n     * @param {boolean} [enabled]\n     * @param {boolean} [editable] bool archive &#x3D; 9;  bool active &#x3D; 11; // not archive\n     * @param {string} [question]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchAuditForm(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      teamId?: Array<number>,\n      enabled?: boolean,\n      editable?: boolean,\n      question?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListAuditForm>\n    > {\n      const localVarAxiosArgs = await AuditFormServiceApiAxiosParamCreator(\n        configuration\n      ).searchAuditForm(\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        teamId,\n        enabled,\n        editable,\n        question,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} formId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {string} [createdAtFrom]\n     * @param {string} [createdAtTo]\n     * @param {Array<number>} [id]\n     * @param {Array<string>} [callId]\n     * @param {Array<string>} [ratedUser]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchAuditRate(\n      formId: number,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      createdAtFrom?: string,\n      createdAtTo?: string,\n      id?: Array<number>,\n      callId?: Array<string>,\n      ratedUser?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListAuditRate>\n    > {\n      const localVarAxiosArgs = await AuditFormServiceApiAxiosParamCreator(\n        configuration\n      ).searchAuditRate(\n        formId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        createdAtFrom,\n        createdAtTo,\n        id,\n        callId,\n        ratedUser,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineAuditFormServiceUpdateAuditFormBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateAuditForm(\n      id: number,\n      body: EngineAuditFormServiceUpdateAuditFormBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineAuditForm>\n    > {\n      const localVarAxiosArgs = await AuditFormServiceApiAxiosParamCreator(\n        configuration\n      ).updateAuditForm(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineAuditFormServiceUpdateAuditRateBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateAuditRate(\n      id: string,\n      body: EngineAuditFormServiceUpdateAuditRateBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineAuditRate>\n    > {\n      const localVarAxiosArgs = await AuditFormServiceApiAxiosParamCreator(\n        configuration\n      ).updateAuditRate(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * AuditFormServiceApi - factory interface\n * @export\n */\nexport const AuditFormServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {EngineCreateAuditFormRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createAuditForm(\n      body: EngineCreateAuditFormRequest,\n      options?: any\n    ): AxiosPromise<EngineAuditForm> {\n      return AuditFormServiceApiFp(configuration)\n        .createAuditForm(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {EngineCreateAuditFormRateRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createAuditFormRate(\n      body: EngineCreateAuditFormRateRequest,\n      options?: any\n    ): AxiosPromise<EngineAuditRate> {\n      return AuditFormServiceApiFp(configuration)\n        .createAuditFormRate(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteAuditForm(id: number, options?: any): AxiosPromise<EngineAuditForm> {\n      return AuditFormServiceApiFp(configuration)\n        .deleteAuditForm(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteAuditRate(id: string, options?: any): AxiosPromise<EngineAuditRate> {\n      return AuditFormServiceApiFp(configuration)\n        .deleteAuditRate(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineAuditFormServicePatchAuditFormBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchAuditForm(\n      id: number,\n      body: EngineAuditFormServicePatchAuditFormBody,\n      options?: any\n    ): AxiosPromise<EngineAuditForm> {\n      return AuditFormServiceApiFp(configuration)\n        .patchAuditForm(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readAuditForm(id: number, options?: any): AxiosPromise<EngineAuditForm> {\n      return AuditFormServiceApiFp(configuration)\n        .readAuditForm(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readAuditRate(id: string, options?: any): AxiosPromise<EngineAuditRate> {\n      return AuditFormServiceApiFp(configuration)\n        .readAuditRate(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {Array<number>} [teamId]\n     * @param {boolean} [enabled]\n     * @param {boolean} [editable] bool archive &#x3D; 9;  bool active &#x3D; 11; // not archive\n     * @param {string} [question]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAuditForm(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      teamId?: Array<number>,\n      enabled?: boolean,\n      editable?: boolean,\n      question?: string,\n      options?: any\n    ): AxiosPromise<EngineListAuditForm> {\n      return AuditFormServiceApiFp(configuration)\n        .searchAuditForm(\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          id,\n          teamId,\n          enabled,\n          editable,\n          question,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} formId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {string} [createdAtFrom]\n     * @param {string} [createdAtTo]\n     * @param {Array<number>} [id]\n     * @param {Array<string>} [callId]\n     * @param {Array<string>} [ratedUser]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAuditRate(\n      formId: number,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      createdAtFrom?: string,\n      createdAtTo?: string,\n      id?: Array<number>,\n      callId?: Array<string>,\n      ratedUser?: Array<string>,\n      options?: any\n    ): AxiosPromise<EngineListAuditRate> {\n      return AuditFormServiceApiFp(configuration)\n        .searchAuditRate(\n          formId,\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          createdAtFrom,\n          createdAtTo,\n          id,\n          callId,\n          ratedUser,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineAuditFormServiceUpdateAuditFormBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateAuditForm(\n      id: number,\n      body: EngineAuditFormServiceUpdateAuditFormBody,\n      options?: any\n    ): AxiosPromise<EngineAuditForm> {\n      return AuditFormServiceApiFp(configuration)\n        .updateAuditForm(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineAuditFormServiceUpdateAuditRateBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateAuditRate(\n      id: string,\n      body: EngineAuditFormServiceUpdateAuditRateBody,\n      options?: any\n    ): AxiosPromise<EngineAuditRate> {\n      return AuditFormServiceApiFp(configuration)\n        .updateAuditRate(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * AuditFormServiceApi - object-oriented interface\n * @export\n * @class AuditFormServiceApi\n * @extends {BaseAPI}\n */\nexport class AuditFormServiceApi extends BaseAPI {\n  /**\n   *\n   * @param {EngineCreateAuditFormRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AuditFormServiceApi\n   */\n  public createAuditForm(body: EngineCreateAuditFormRequest, options?: any) {\n    return AuditFormServiceApiFp(this.configuration)\n      .createAuditForm(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {EngineCreateAuditFormRateRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AuditFormServiceApi\n   */\n  public createAuditFormRate(\n    body: EngineCreateAuditFormRateRequest,\n    options?: any\n  ) {\n    return AuditFormServiceApiFp(this.configuration)\n      .createAuditFormRate(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AuditFormServiceApi\n   */\n  public deleteAuditForm(id: number, options?: any) {\n    return AuditFormServiceApiFp(this.configuration)\n      .deleteAuditForm(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AuditFormServiceApi\n   */\n  public deleteAuditRate(id: string, options?: any) {\n    return AuditFormServiceApiFp(this.configuration)\n      .deleteAuditRate(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} id\n   * @param {EngineAuditFormServicePatchAuditFormBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AuditFormServiceApi\n   */\n  public patchAuditForm(\n    id: number,\n    body: EngineAuditFormServicePatchAuditFormBody,\n    options?: any\n  ) {\n    return AuditFormServiceApiFp(this.configuration)\n      .patchAuditForm(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AuditFormServiceApi\n   */\n  public readAuditForm(id: number, options?: any) {\n    return AuditFormServiceApiFp(this.configuration)\n      .readAuditForm(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AuditFormServiceApi\n   */\n  public readAuditRate(id: string, options?: any) {\n    return AuditFormServiceApiFp(this.configuration)\n      .readAuditRate(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<number>} [id]\n   * @param {Array<number>} [teamId]\n   * @param {boolean} [enabled]\n   * @param {boolean} [editable] bool archive &#x3D; 9;  bool active &#x3D; 11; // not archive\n   * @param {string} [question]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AuditFormServiceApi\n   */\n  public searchAuditForm(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<number>,\n    teamId?: Array<number>,\n    enabled?: boolean,\n    editable?: boolean,\n    question?: string,\n    options?: any\n  ) {\n    return AuditFormServiceApiFp(this.configuration)\n      .searchAuditForm(\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        teamId,\n        enabled,\n        editable,\n        question,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} formId\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {string} [createdAtFrom]\n   * @param {string} [createdAtTo]\n   * @param {Array<number>} [id]\n   * @param {Array<string>} [callId]\n   * @param {Array<string>} [ratedUser]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AuditFormServiceApi\n   */\n  public searchAuditRate(\n    formId: number,\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    createdAtFrom?: string,\n    createdAtTo?: string,\n    id?: Array<number>,\n    callId?: Array<string>,\n    ratedUser?: Array<string>,\n    options?: any\n  ) {\n    return AuditFormServiceApiFp(this.configuration)\n      .searchAuditRate(\n        formId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        createdAtFrom,\n        createdAtTo,\n        id,\n        callId,\n        ratedUser,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} id\n   * @param {EngineAuditFormServiceUpdateAuditFormBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AuditFormServiceApi\n   */\n  public updateAuditForm(\n    id: number,\n    body: EngineAuditFormServiceUpdateAuditFormBody,\n    options?: any\n  ) {\n    return AuditFormServiceApiFp(this.configuration)\n      .updateAuditForm(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {EngineAuditFormServiceUpdateAuditRateBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AuditFormServiceApi\n   */\n  public updateAuditRate(\n    id: string,\n    body: EngineAuditFormServiceUpdateAuditRateBody,\n    options?: any\n  ) {\n    return AuditFormServiceApiFp(this.configuration)\n      .updateAuditRate(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { ApiLoginResponse } from '../api'\n// @ts-ignore\nimport { ApiUserinfo } from '../api'\n/**\n * AuthApi - axios parameter creator\n * @export\n */\nexport const AuthApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Signup new domain with superior access token\n     * @param {string} [domain] domain name\n     * @param {string} [username] username\n     * @param {string} [password] user password\n     * @param {Array<string>} [scope] scope request control\n     * @param {string} [certificate] license/certificate\n     * @param {boolean} [mobile] OPTIONAL. Mobile device /login request ?\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    signup: async (\n      domain?: string,\n      username?: string,\n      password?: string,\n      scope?: Array<string>,\n      certificate?: string,\n      mobile?: boolean,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/signup`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domain !== undefined) {\n        localVarQueryParameter['domain'] = domain\n      }\n\n      if (username !== undefined) {\n        localVarQueryParameter['username'] = username\n      }\n\n      if (password !== undefined) {\n        localVarQueryParameter['password'] = password\n      }\n\n      if (scope) {\n        localVarQueryParameter['scope'] = scope\n      }\n\n      if (certificate !== undefined) {\n        localVarQueryParameter['certificate'] = certificate\n      }\n\n      if (mobile !== undefined) {\n        localVarQueryParameter['mobile'] = mobile\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary The UserInfo Endpoint is an OAuth 2.0 Protected Resource that returns Claims about the authenticated End-User.\n     * @param {string} [accessToken] string id_token &#x3D; 2;\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    userInfo: async (\n      accessToken?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/userinfo`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (accessToken !== undefined) {\n        localVarQueryParameter['access_token'] = accessToken\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary The UserInfo Endpoint is an OAuth 2.0 Protected Resource that returns Claims about the authenticated End-User.\n     * @param {string} [accessToken] string id_token &#x3D; 2;\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    userInfo2: async (\n      accessToken?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/userinfo`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (accessToken !== undefined) {\n        localVarQueryParameter['access_token'] = accessToken\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * AuthApi - functional programming interface\n * @export\n */\nexport const AuthApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Signup new domain with superior access token\n     * @param {string} [domain] domain name\n     * @param {string} [username] username\n     * @param {string} [password] user password\n     * @param {Array<string>} [scope] scope request control\n     * @param {string} [certificate] license/certificate\n     * @param {boolean} [mobile] OPTIONAL. Mobile device /login request ?\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async signup(\n      domain?: string,\n      username?: string,\n      password?: string,\n      scope?: Array<string>,\n      certificate?: string,\n      mobile?: boolean,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiLoginResponse>\n    > {\n      const localVarAxiosArgs = await AuthApiAxiosParamCreator(\n        configuration\n      ).signup(domain, username, password, scope, certificate, mobile, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary The UserInfo Endpoint is an OAuth 2.0 Protected Resource that returns Claims about the authenticated End-User.\n     * @param {string} [accessToken] string id_token &#x3D; 2;\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async userInfo(\n      accessToken?: string,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiUserinfo>\n    > {\n      const localVarAxiosArgs = await AuthApiAxiosParamCreator(\n        configuration\n      ).userInfo(accessToken, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary The UserInfo Endpoint is an OAuth 2.0 Protected Resource that returns Claims about the authenticated End-User.\n     * @param {string} [accessToken] string id_token &#x3D; 2;\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async userInfo2(\n      accessToken?: string,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiUserinfo>\n    > {\n      const localVarAxiosArgs = await AuthApiAxiosParamCreator(\n        configuration\n      ).userInfo2(accessToken, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * AuthApi - factory interface\n * @export\n */\nexport const AuthApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Signup new domain with superior access token\n     * @param {string} [domain] domain name\n     * @param {string} [username] username\n     * @param {string} [password] user password\n     * @param {Array<string>} [scope] scope request control\n     * @param {string} [certificate] license/certificate\n     * @param {boolean} [mobile] OPTIONAL. Mobile device /login request ?\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    signup(\n      domain?: string,\n      username?: string,\n      password?: string,\n      scope?: Array<string>,\n      certificate?: string,\n      mobile?: boolean,\n      options?: any\n    ): AxiosPromise<ApiLoginResponse> {\n      return AuthApiFp(configuration)\n        .signup(domain, username, password, scope, certificate, mobile, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary The UserInfo Endpoint is an OAuth 2.0 Protected Resource that returns Claims about the authenticated End-User.\n     * @param {string} [accessToken] string id_token &#x3D; 2;\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    userInfo(accessToken?: string, options?: any): AxiosPromise<ApiUserinfo> {\n      return AuthApiFp(configuration)\n        .userInfo(accessToken, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary The UserInfo Endpoint is an OAuth 2.0 Protected Resource that returns Claims about the authenticated End-User.\n     * @param {string} [accessToken] string id_token &#x3D; 2;\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    userInfo2(accessToken?: string, options?: any): AxiosPromise<ApiUserinfo> {\n      return AuthApiFp(configuration)\n        .userInfo2(accessToken, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * AuthApi - object-oriented interface\n * @export\n * @class AuthApi\n * @extends {BaseAPI}\n */\nexport class AuthApi extends BaseAPI {\n  /**\n   *\n   * @summary Signup new domain with superior access token\n   * @param {string} [domain] domain name\n   * @param {string} [username] username\n   * @param {string} [password] user password\n   * @param {Array<string>} [scope] scope request control\n   * @param {string} [certificate] license/certificate\n   * @param {boolean} [mobile] OPTIONAL. Mobile device /login request ?\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AuthApi\n   */\n  public signup(\n    domain?: string,\n    username?: string,\n    password?: string,\n    scope?: Array<string>,\n    certificate?: string,\n    mobile?: boolean,\n    options?: any\n  ) {\n    return AuthApiFp(this.configuration)\n      .signup(domain, username, password, scope, certificate, mobile, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary The UserInfo Endpoint is an OAuth 2.0 Protected Resource that returns Claims about the authenticated End-User.\n   * @param {string} [accessToken] string id_token &#x3D; 2;\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AuthApi\n   */\n  public userInfo(accessToken?: string, options?: any) {\n    return AuthApiFp(this.configuration)\n      .userInfo(accessToken, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary The UserInfo Endpoint is an OAuth 2.0 Protected Resource that returns Claims about the authenticated End-User.\n   * @param {string} [accessToken] string id_token &#x3D; 2;\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof AuthApi\n   */\n  public userInfo2(accessToken?: string, options?: any) {\n    return AuthApiFp(this.configuration)\n      .userInfo2(accessToken, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { GrpcGatewayRuntimeError } from '../api'\n// @ts-ignore\nimport { StorageBackendProfile } from '../api'\n// @ts-ignore\nimport { StorageCreateBackendProfileRequest } from '../api'\n// @ts-ignore\nimport { StorageListBackendProfile } from '../api'\n// @ts-ignore\nimport { StoragePatchBackendProfileRequest } from '../api'\n// @ts-ignore\nimport { StorageUpdateBackendProfileRequest } from '../api'\n/**\n * BackendProfileServiceApi - axios parameter creator\n * @export\n */\nexport const BackendProfileServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create BackendProfile\n     * @param {StorageCreateBackendProfileRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createBackendProfile: async (\n      body: StorageCreateBackendProfileRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createBackendProfile.'\n        )\n      }\n      const localVarPath = `/storage/backend_profiles`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Remove BackendProfile\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteBackendProfile: async (\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteBackendProfile.'\n        )\n      }\n      const localVarPath = `/storage/backend_profiles/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Patch BackendProfile\n     * @param {string} id\n     * @param {StoragePatchBackendProfileRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchBackendProfile: async (\n      id: string,\n      body: StoragePatchBackendProfileRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling patchBackendProfile.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling patchBackendProfile.'\n        )\n      }\n      const localVarPath = `/storage/backend_profiles/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary BackendProfile item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readBackendProfile: async (\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readBackendProfile.'\n        )\n      }\n      const localVarPath = `/storage/backend_profiles/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary List of BackendProfile\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchBackendProfile: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/storage/backend_profiles`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update BackendProfile\n     * @param {string} id\n     * @param {StorageUpdateBackendProfileRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateBackendProfile: async (\n      id: string,\n      body: StorageUpdateBackendProfileRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateBackendProfile.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateBackendProfile.'\n        )\n      }\n      const localVarPath = `/storage/backend_profiles/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * BackendProfileServiceApi - functional programming interface\n * @export\n */\nexport const BackendProfileServiceApiFp = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create BackendProfile\n     * @param {StorageCreateBackendProfileRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createBackendProfile(\n      body: StorageCreateBackendProfileRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<StorageBackendProfile>\n    > {\n      const localVarAxiosArgs = await BackendProfileServiceApiAxiosParamCreator(\n        configuration\n      ).createBackendProfile(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Remove BackendProfile\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteBackendProfile(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<StorageBackendProfile>\n    > {\n      const localVarAxiosArgs = await BackendProfileServiceApiAxiosParamCreator(\n        configuration\n      ).deleteBackendProfile(id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Patch BackendProfile\n     * @param {string} id\n     * @param {StoragePatchBackendProfileRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async patchBackendProfile(\n      id: string,\n      body: StoragePatchBackendProfileRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<StorageBackendProfile>\n    > {\n      const localVarAxiosArgs = await BackendProfileServiceApiAxiosParamCreator(\n        configuration\n      ).patchBackendProfile(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary BackendProfile item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readBackendProfile(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<StorageBackendProfile>\n    > {\n      const localVarAxiosArgs = await BackendProfileServiceApiAxiosParamCreator(\n        configuration\n      ).readBackendProfile(id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary List of BackendProfile\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchBackendProfile(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<StorageListBackendProfile>\n    > {\n      const localVarAxiosArgs = await BackendProfileServiceApiAxiosParamCreator(\n        configuration\n      ).searchBackendProfile(page, size, q, sort, fields, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update BackendProfile\n     * @param {string} id\n     * @param {StorageUpdateBackendProfileRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateBackendProfile(\n      id: string,\n      body: StorageUpdateBackendProfileRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<StorageBackendProfile>\n    > {\n      const localVarAxiosArgs = await BackendProfileServiceApiAxiosParamCreator(\n        configuration\n      ).updateBackendProfile(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * BackendProfileServiceApi - factory interface\n * @export\n */\nexport const BackendProfileServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Create BackendProfile\n     * @param {StorageCreateBackendProfileRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createBackendProfile(\n      body: StorageCreateBackendProfileRequest,\n      options?: any\n    ): AxiosPromise<StorageBackendProfile> {\n      return BackendProfileServiceApiFp(configuration)\n        .createBackendProfile(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Remove BackendProfile\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteBackendProfile(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<StorageBackendProfile> {\n      return BackendProfileServiceApiFp(configuration)\n        .deleteBackendProfile(id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Patch BackendProfile\n     * @param {string} id\n     * @param {StoragePatchBackendProfileRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchBackendProfile(\n      id: string,\n      body: StoragePatchBackendProfileRequest,\n      options?: any\n    ): AxiosPromise<StorageBackendProfile> {\n      return BackendProfileServiceApiFp(configuration)\n        .patchBackendProfile(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary BackendProfile item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readBackendProfile(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<StorageBackendProfile> {\n      return BackendProfileServiceApiFp(configuration)\n        .readBackendProfile(id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary List of BackendProfile\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchBackendProfile(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options?: any\n    ): AxiosPromise<StorageListBackendProfile> {\n      return BackendProfileServiceApiFp(configuration)\n        .searchBackendProfile(page, size, q, sort, fields, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update BackendProfile\n     * @param {string} id\n     * @param {StorageUpdateBackendProfileRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateBackendProfile(\n      id: string,\n      body: StorageUpdateBackendProfileRequest,\n      options?: any\n    ): AxiosPromise<StorageBackendProfile> {\n      return BackendProfileServiceApiFp(configuration)\n        .updateBackendProfile(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * BackendProfileServiceApi - object-oriented interface\n * @export\n * @class BackendProfileServiceApi\n * @extends {BaseAPI}\n */\nexport class BackendProfileServiceApi extends BaseAPI {\n  /**\n   *\n   * @summary Create BackendProfile\n   * @param {StorageCreateBackendProfileRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof BackendProfileServiceApi\n   */\n  public createBackendProfile(\n    body: StorageCreateBackendProfileRequest,\n    options?: any\n  ) {\n    return BackendProfileServiceApiFp(this.configuration)\n      .createBackendProfile(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Remove BackendProfile\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof BackendProfileServiceApi\n   */\n  public deleteBackendProfile(id: string, domainId?: string, options?: any) {\n    return BackendProfileServiceApiFp(this.configuration)\n      .deleteBackendProfile(id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Patch BackendProfile\n   * @param {string} id\n   * @param {StoragePatchBackendProfileRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof BackendProfileServiceApi\n   */\n  public patchBackendProfile(\n    id: string,\n    body: StoragePatchBackendProfileRequest,\n    options?: any\n  ) {\n    return BackendProfileServiceApiFp(this.configuration)\n      .patchBackendProfile(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary BackendProfile item\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof BackendProfileServiceApi\n   */\n  public readBackendProfile(id: string, domainId?: string, options?: any) {\n    return BackendProfileServiceApiFp(this.configuration)\n      .readBackendProfile(id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary List of BackendProfile\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<number>} [id]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof BackendProfileServiceApi\n   */\n  public searchBackendProfile(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<number>,\n    options?: any\n  ) {\n    return BackendProfileServiceApiFp(this.configuration)\n      .searchBackendProfile(page, size, q, sort, fields, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update BackendProfile\n   * @param {string} id\n   * @param {StorageUpdateBackendProfileRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof BackendProfileServiceApi\n   */\n  public updateBackendProfile(\n    id: string,\n    body: StorageUpdateBackendProfileRequest,\n    options?: any\n  ) {\n    return BackendProfileServiceApiFp(this.configuration)\n      .updateBackendProfile(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { EngineBucket } from '../api'\n// @ts-ignore\nimport { EngineBucketServiceUpdateBucketBody } from '../api'\n// @ts-ignore\nimport { EngineCreateBucketRequest } from '../api'\n// @ts-ignore\nimport { EngineListBucket } from '../api'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n/**\n * BucketServiceApi - axios parameter creator\n * @export\n */\nexport const BucketServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create Bucket\n     * @param {EngineCreateBucketRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createBucket: async (\n      body: EngineCreateBucketRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createBucket.'\n        )\n      }\n      const localVarPath = `/call_center/buckets`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Remove Bucket\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteBucket: async (\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteBucket.'\n        )\n      }\n      const localVarPath = `/call_center/buckets/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Bucket item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readBucket: async (\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readBucket.'\n        )\n      }\n      const localVarPath = `/call_center/buckets/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary List of Bucket\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchBucket: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/call_center/buckets`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update Bucket\n     * @param {string} id\n     * @param {EngineBucketServiceUpdateBucketBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateBucket: async (\n      id: string,\n      body: EngineBucketServiceUpdateBucketBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateBucket.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateBucket.'\n        )\n      }\n      const localVarPath = `/call_center/buckets/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * BucketServiceApi - functional programming interface\n * @export\n */\nexport const BucketServiceApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Create Bucket\n     * @param {EngineCreateBucketRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createBucket(\n      body: EngineCreateBucketRequest,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineBucket>\n    > {\n      const localVarAxiosArgs = await BucketServiceApiAxiosParamCreator(\n        configuration\n      ).createBucket(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Remove Bucket\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteBucket(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineBucket>\n    > {\n      const localVarAxiosArgs = await BucketServiceApiAxiosParamCreator(\n        configuration\n      ).deleteBucket(id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Bucket item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readBucket(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineBucket>\n    > {\n      const localVarAxiosArgs = await BucketServiceApiAxiosParamCreator(\n        configuration\n      ).readBucket(id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary List of Bucket\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchBucket(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListBucket>\n    > {\n      const localVarAxiosArgs = await BucketServiceApiAxiosParamCreator(\n        configuration\n      ).searchBucket(page, size, q, sort, fields, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update Bucket\n     * @param {string} id\n     * @param {EngineBucketServiceUpdateBucketBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateBucket(\n      id: string,\n      body: EngineBucketServiceUpdateBucketBody,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineBucket>\n    > {\n      const localVarAxiosArgs = await BucketServiceApiAxiosParamCreator(\n        configuration\n      ).updateBucket(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * BucketServiceApi - factory interface\n * @export\n */\nexport const BucketServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Create Bucket\n     * @param {EngineCreateBucketRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createBucket(\n      body: EngineCreateBucketRequest,\n      options?: any\n    ): AxiosPromise<EngineBucket> {\n      return BucketServiceApiFp(configuration)\n        .createBucket(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Remove Bucket\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteBucket(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineBucket> {\n      return BucketServiceApiFp(configuration)\n        .deleteBucket(id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Bucket item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readBucket(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineBucket> {\n      return BucketServiceApiFp(configuration)\n        .readBucket(id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary List of Bucket\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchBucket(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options?: any\n    ): AxiosPromise<EngineListBucket> {\n      return BucketServiceApiFp(configuration)\n        .searchBucket(page, size, q, sort, fields, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update Bucket\n     * @param {string} id\n     * @param {EngineBucketServiceUpdateBucketBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateBucket(\n      id: string,\n      body: EngineBucketServiceUpdateBucketBody,\n      options?: any\n    ): AxiosPromise<EngineBucket> {\n      return BucketServiceApiFp(configuration)\n        .updateBucket(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * BucketServiceApi - object-oriented interface\n * @export\n * @class BucketServiceApi\n * @extends {BaseAPI}\n */\nexport class BucketServiceApi extends BaseAPI {\n  /**\n   *\n   * @summary Create Bucket\n   * @param {EngineCreateBucketRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof BucketServiceApi\n   */\n  public createBucket(body: EngineCreateBucketRequest, options?: any) {\n    return BucketServiceApiFp(this.configuration)\n      .createBucket(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Remove Bucket\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof BucketServiceApi\n   */\n  public deleteBucket(id: string, domainId?: string, options?: any) {\n    return BucketServiceApiFp(this.configuration)\n      .deleteBucket(id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Bucket item\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof BucketServiceApi\n   */\n  public readBucket(id: string, domainId?: string, options?: any) {\n    return BucketServiceApiFp(this.configuration)\n      .readBucket(id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary List of Bucket\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<number>} [id]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof BucketServiceApi\n   */\n  public searchBucket(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<number>,\n    options?: any\n  ) {\n    return BucketServiceApiFp(this.configuration)\n      .searchBucket(page, size, q, sort, fields, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update Bucket\n   * @param {string} id\n   * @param {EngineBucketServiceUpdateBucketBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof BucketServiceApi\n   */\n  public updateBucket(\n    id: string,\n    body: EngineBucketServiceUpdateBucketBody,\n    options?: any\n  ) {\n    return BucketServiceApiFp(this.configuration)\n      .updateBucket(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { EngineCalendar } from '../api'\n// @ts-ignore\nimport { EngineCalendarServiceUpdateCalendarBody } from '../api'\n// @ts-ignore\nimport { EngineCreateCalendarRequest } from '../api'\n// @ts-ignore\nimport { EngineListCalendar } from '../api'\n// @ts-ignore\nimport { EngineListTimezoneResponse } from '../api'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n/**\n * CalendarServiceApi - axios parameter creator\n * @export\n */\nexport const CalendarServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create calendar\n     * @param {EngineCreateCalendarRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createCalendar: async (\n      body: EngineCreateCalendarRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createCalendar.'\n        )\n      }\n      const localVarPath = `/calendars`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Remove calendar\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteCalendar: async (\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteCalendar.'\n        )\n      }\n      const localVarPath = `/calendars/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Calendar item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readCalendar: async (\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readCalendar.'\n        )\n      }\n      const localVarPath = `/calendars/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary List of calendar\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchCalendar: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/calendars`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary List timezones\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchTimezones: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/calendars/timezones`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update calendar\n     * @param {string} id\n     * @param {EngineCalendarServiceUpdateCalendarBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateCalendar: async (\n      id: string,\n      body: EngineCalendarServiceUpdateCalendarBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateCalendar.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateCalendar.'\n        )\n      }\n      const localVarPath = `/calendars/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * CalendarServiceApi - functional programming interface\n * @export\n */\nexport const CalendarServiceApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Create calendar\n     * @param {EngineCreateCalendarRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createCalendar(\n      body: EngineCreateCalendarRequest,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineCalendar>\n    > {\n      const localVarAxiosArgs = await CalendarServiceApiAxiosParamCreator(\n        configuration\n      ).createCalendar(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Remove calendar\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteCalendar(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineCalendar>\n    > {\n      const localVarAxiosArgs = await CalendarServiceApiAxiosParamCreator(\n        configuration\n      ).deleteCalendar(id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Calendar item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readCalendar(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineCalendar>\n    > {\n      const localVarAxiosArgs = await CalendarServiceApiAxiosParamCreator(\n        configuration\n      ).readCalendar(id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary List of calendar\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchCalendar(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListCalendar>\n    > {\n      const localVarAxiosArgs = await CalendarServiceApiAxiosParamCreator(\n        configuration\n      ).searchCalendar(page, size, q, sort, fields, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary List timezones\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchTimezones(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListTimezoneResponse>\n    > {\n      const localVarAxiosArgs = await CalendarServiceApiAxiosParamCreator(\n        configuration\n      ).searchTimezones(page, size, q, sort, fields, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update calendar\n     * @param {string} id\n     * @param {EngineCalendarServiceUpdateCalendarBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateCalendar(\n      id: string,\n      body: EngineCalendarServiceUpdateCalendarBody,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineCalendar>\n    > {\n      const localVarAxiosArgs = await CalendarServiceApiAxiosParamCreator(\n        configuration\n      ).updateCalendar(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * CalendarServiceApi - factory interface\n * @export\n */\nexport const CalendarServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Create calendar\n     * @param {EngineCreateCalendarRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createCalendar(\n      body: EngineCreateCalendarRequest,\n      options?: any\n    ): AxiosPromise<EngineCalendar> {\n      return CalendarServiceApiFp(configuration)\n        .createCalendar(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Remove calendar\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteCalendar(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineCalendar> {\n      return CalendarServiceApiFp(configuration)\n        .deleteCalendar(id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Calendar item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readCalendar(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineCalendar> {\n      return CalendarServiceApiFp(configuration)\n        .readCalendar(id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary List of calendar\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchCalendar(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options?: any\n    ): AxiosPromise<EngineListCalendar> {\n      return CalendarServiceApiFp(configuration)\n        .searchCalendar(page, size, q, sort, fields, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary List timezones\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchTimezones(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options?: any\n    ): AxiosPromise<EngineListTimezoneResponse> {\n      return CalendarServiceApiFp(configuration)\n        .searchTimezones(page, size, q, sort, fields, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update calendar\n     * @param {string} id\n     * @param {EngineCalendarServiceUpdateCalendarBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateCalendar(\n      id: string,\n      body: EngineCalendarServiceUpdateCalendarBody,\n      options?: any\n    ): AxiosPromise<EngineCalendar> {\n      return CalendarServiceApiFp(configuration)\n        .updateCalendar(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * CalendarServiceApi - object-oriented interface\n * @export\n * @class CalendarServiceApi\n * @extends {BaseAPI}\n */\nexport class CalendarServiceApi extends BaseAPI {\n  /**\n   *\n   * @summary Create calendar\n   * @param {EngineCreateCalendarRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CalendarServiceApi\n   */\n  public createCalendar(body: EngineCreateCalendarRequest, options?: any) {\n    return CalendarServiceApiFp(this.configuration)\n      .createCalendar(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Remove calendar\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CalendarServiceApi\n   */\n  public deleteCalendar(id: string, domainId?: string, options?: any) {\n    return CalendarServiceApiFp(this.configuration)\n      .deleteCalendar(id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Calendar item\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CalendarServiceApi\n   */\n  public readCalendar(id: string, domainId?: string, options?: any) {\n    return CalendarServiceApiFp(this.configuration)\n      .readCalendar(id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary List of calendar\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<number>} [id]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CalendarServiceApi\n   */\n  public searchCalendar(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<number>,\n    options?: any\n  ) {\n    return CalendarServiceApiFp(this.configuration)\n      .searchCalendar(page, size, q, sort, fields, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary List timezones\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<number>} [id]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CalendarServiceApi\n   */\n  public searchTimezones(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<number>,\n    options?: any\n  ) {\n    return CalendarServiceApiFp(this.configuration)\n      .searchTimezones(page, size, q, sort, fields, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update calendar\n   * @param {string} id\n   * @param {EngineCalendarServiceUpdateCalendarBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CalendarServiceApi\n   */\n  public updateCalendar(\n    id: string,\n    body: EngineCalendarServiceUpdateCalendarBody,\n    options?: any\n  ) {\n    return CalendarServiceApiFp(this.configuration)\n      .updateCalendar(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { EngineActiveCall } from '../api'\n// @ts-ignore\nimport { EngineAggregateHistoryCallRequest } from '../api'\n// @ts-ignore\nimport { EngineCallAnnotation } from '../api'\n// @ts-ignore\nimport { EngineCallServiceBlindTransferCallBody } from '../api'\n// @ts-ignore\nimport { EngineCallServiceCreateCallAnnotationBody } from '../api'\n// @ts-ignore\nimport { EngineCallServiceDtmfCallBody } from '../api'\n// @ts-ignore\nimport { EngineCallServiceEavesdropCallBody } from '../api'\n// @ts-ignore\nimport { EngineCallServiceHangupCallBody } from '../api'\n// @ts-ignore\nimport { EngineCallServiceHoldCallBody } from '../api'\n// @ts-ignore\nimport { EngineCallServicePatchHistoryCallBody } from '../api'\n// @ts-ignore\nimport { EngineCallServiceSetVariablesCallBody } from '../api'\n// @ts-ignore\nimport { EngineCallServiceUnHoldCallBody } from '../api'\n// @ts-ignore\nimport { EngineCallServiceUpdateCallAnnotationBody } from '../api'\n// @ts-ignore\nimport { EngineCreateCallRequest } from '../api'\n// @ts-ignore\nimport { EngineCreateCallResponse } from '../api'\n// @ts-ignore\nimport { EngineHistoryCall } from '../api'\n// @ts-ignore\nimport { EngineHoldCallResponse } from '../api'\n// @ts-ignore\nimport { EngineListAggregate } from '../api'\n// @ts-ignore\nimport { EngineListCall } from '../api'\n// @ts-ignore\nimport { EngineListHistoryCall } from '../api'\n// @ts-ignore\nimport { EngineSearchHistoryCallRequest } from '../api'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n/**\n * CallServiceApi - axios parameter creator\n * @export\n */\nexport const CallServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {EngineAggregateHistoryCallRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    aggregateHistoryCall: async (\n      body: EngineAggregateHistoryCallRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling aggregateHistoryCall.'\n        )\n      }\n      const localVarPath = `/calls/history/aggregate`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineCallServiceBlindTransferCallBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    blindTransferCall: async (\n      id: string,\n      body: EngineCallServiceBlindTransferCallBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling blindTransferCall.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling blindTransferCall.'\n        )\n      }\n      const localVarPath = `/calls/active/{id}/transfer`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Call item\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    confirmPush: async (\n      id: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling confirmPush.'\n        )\n      }\n      const localVarPath = `/calls/active/{id}/confirm_push`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {EngineCreateCallRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createCall: async (\n      body: EngineCreateCallRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createCall.'\n        )\n      }\n      const localVarPath = `/calls`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} callId\n     * @param {EngineCallServiceCreateCallAnnotationBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createCallAnnotation: async (\n      callId: string,\n      body: EngineCallServiceCreateCallAnnotationBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'callId' is not null or undefined\n      if (callId === null || callId === undefined) {\n        throw new RequiredError(\n          'callId',\n          'Required parameter callId was null or undefined when calling createCallAnnotation.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createCallAnnotation.'\n        )\n      }\n      const localVarPath = `/calls/history/{call_id}/annotation`.replace(\n        `{${'call_id'}}`,\n        encodeURIComponent(String(callId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} callId\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteCallAnnotation: async (\n      callId: string,\n      id: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'callId' is not null or undefined\n      if (callId === null || callId === undefined) {\n        throw new RequiredError(\n          'callId',\n          'Required parameter callId was null or undefined when calling deleteCallAnnotation.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteCallAnnotation.'\n        )\n      }\n      const localVarPath = `/calls/history/{call_id}/annotation/{id}`\n        .replace(`{${'call_id'}}`, encodeURIComponent(String(callId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineCallServiceDtmfCallBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    dtmfCall: async (\n      id: string,\n      body: EngineCallServiceDtmfCallBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling dtmfCall.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling dtmfCall.'\n        )\n      }\n      const localVarPath = `/calls/active/{id}/dtmf`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineCallServiceEavesdropCallBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    eavesdropCall: async (\n      id: string,\n      body: EngineCallServiceEavesdropCallBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling eavesdropCall.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling eavesdropCall.'\n        )\n      }\n      const localVarPath = `/calls/active/{id}/eavesdrop`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineCallServiceHangupCallBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    hangupCall: async (\n      id: string,\n      body: EngineCallServiceHangupCallBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling hangupCall.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling hangupCall.'\n        )\n      }\n      const localVarPath = `/calls/active/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineCallServiceHoldCallBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    holdCall: async (\n      id: string,\n      body: EngineCallServiceHoldCallBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling holdCall.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling holdCall.'\n        )\n      }\n      const localVarPath = `/calls/active/{id}/hold`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineCallServicePatchHistoryCallBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchHistoryCall: async (\n      id: string,\n      body: EngineCallServicePatchHistoryCallBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling patchHistoryCall.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling patchHistoryCall.'\n        )\n      }\n      const localVarPath = `/calls/history/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Call item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readCall: async (\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readCall.'\n        )\n      }\n      const localVarPath = `/calls/active/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} callId\n     * @param {object} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    redialCall: async (\n      callId: string,\n      body: object,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'callId' is not null or undefined\n      if (callId === null || callId === undefined) {\n        throw new RequiredError(\n          'callId',\n          'Required parameter callId was null or undefined when calling redialCall.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling redialCall.'\n        )\n      }\n      const localVarPath = `/calls/history/{call_id}/redial`.replace(\n        `{${'call_id'}}`,\n        encodeURIComponent(String(callId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {string} [createdAtFrom]\n     * @param {string} [createdAtTo]\n     * @param {Array<string>} [userId]\n     * @param {Array<string>} [agentId]\n     * @param {Array<string>} [queueId]\n     * @param {Array<string>} [teamId]\n     * @param {Array<string>} [memberId]\n     * @param {Array<string>} [gatewayId]\n     * @param {string} [durationFrom]\n     * @param {string} [durationTo]\n     * @param {boolean} [skipParent]\n     * @param {string} [parentId]\n     * @param {Array<string>} [cause]\n     * @param {boolean} [existsFile]\n     * @param {string} [domainId]\n     * @param {string} [number]\n     * @param {Array<string>} [direction]\n     * @param {string} [answeredAtFrom]\n     * @param {string} [answeredAtTo]\n     * @param {boolean} [missed]\n     * @param {string} [storedAtFrom]\n     * @param {string} [storedAtTo]\n     * @param {Array<string>} [supervisorId]\n     * @param {Array<string>} [state]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchActiveCall: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      createdAtFrom?: string,\n      createdAtTo?: string,\n      userId?: Array<string>,\n      agentId?: Array<string>,\n      queueId?: Array<string>,\n      teamId?: Array<string>,\n      memberId?: Array<string>,\n      gatewayId?: Array<string>,\n      durationFrom?: string,\n      durationTo?: string,\n      skipParent?: boolean,\n      parentId?: string,\n      cause?: Array<string>,\n      existsFile?: boolean,\n      domainId?: string,\n      number?: string,\n      direction?: Array<string>,\n      answeredAtFrom?: string,\n      answeredAtTo?: string,\n      missed?: boolean,\n      storedAtFrom?: string,\n      storedAtTo?: string,\n      supervisorId?: Array<string>,\n      state?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/calls/active`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (createdAtFrom !== undefined) {\n        localVarQueryParameter['created_at.from'] = createdAtFrom\n      }\n\n      if (createdAtTo !== undefined) {\n        localVarQueryParameter['created_at.to'] = createdAtTo\n      }\n\n      if (userId) {\n        localVarQueryParameter['user_id'] = userId\n      }\n\n      if (agentId) {\n        localVarQueryParameter['agent_id'] = agentId\n      }\n\n      if (queueId) {\n        localVarQueryParameter['queue_id'] = queueId\n      }\n\n      if (teamId) {\n        localVarQueryParameter['team_id'] = teamId\n      }\n\n      if (memberId) {\n        localVarQueryParameter['member_id'] = memberId\n      }\n\n      if (gatewayId) {\n        localVarQueryParameter['gateway_id'] = gatewayId\n      }\n\n      if (durationFrom !== undefined) {\n        localVarQueryParameter['duration.from'] = durationFrom\n      }\n\n      if (durationTo !== undefined) {\n        localVarQueryParameter['duration.to'] = durationTo\n      }\n\n      if (skipParent !== undefined) {\n        localVarQueryParameter['skip_parent'] = skipParent\n      }\n\n      if (parentId !== undefined) {\n        localVarQueryParameter['parent_id'] = parentId\n      }\n\n      if (cause) {\n        localVarQueryParameter['cause'] = cause\n      }\n\n      if (existsFile !== undefined) {\n        localVarQueryParameter['exists_file'] = existsFile\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      if (number !== undefined) {\n        localVarQueryParameter['number'] = number\n      }\n\n      if (direction) {\n        localVarQueryParameter['direction'] = direction\n      }\n\n      if (answeredAtFrom !== undefined) {\n        localVarQueryParameter['answered_at.from'] = answeredAtFrom\n      }\n\n      if (answeredAtTo !== undefined) {\n        localVarQueryParameter['answered_at.to'] = answeredAtTo\n      }\n\n      if (missed !== undefined) {\n        localVarQueryParameter['missed'] = missed\n      }\n\n      if (storedAtFrom !== undefined) {\n        localVarQueryParameter['stored_at.from'] = storedAtFrom\n      }\n\n      if (storedAtTo !== undefined) {\n        localVarQueryParameter['stored_at.to'] = storedAtTo\n      }\n\n      if (supervisorId) {\n        localVarQueryParameter['supervisor_id'] = supervisorId\n      }\n\n      if (state) {\n        localVarQueryParameter['state'] = state\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary List of call\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {string} [createdAtFrom]\n     * @param {string} [createdAtTo]\n     * @param {Array<string>} [userId]\n     * @param {Array<string>} [agentId]\n     * @param {Array<string>} [queueId]\n     * @param {Array<string>} [teamId]\n     * @param {Array<string>} [memberId]\n     * @param {Array<string>} [gatewayId]\n     * @param {string} [durationFrom]\n     * @param {string} [durationTo]\n     * @param {boolean} [skipParent]\n     * @param {string} [parentId]\n     * @param {Array<string>} [cause]\n     * @param {boolean} [hasFile]\n     * @param {string} [domainId]\n     * @param {string} [number]\n     * @param {string} [direction]\n     * @param {string} [answeredAtFrom]\n     * @param {string} [answeredAtTo]\n     * @param {boolean} [missed]\n     * @param {string} [storedAtFrom]\n     * @param {string} [storedAtTo]\n     * @param {Array<string>} [id]\n     * @param {Array<string>} [transferFrom]\n     * @param {Array<string>} [transferTo]\n     * @param {string} [dependencyId]\n     * @param {Array<string>} [tags]\n     * @param {string} [variablesString] This is a request variable of the map type. The query format is \\&quot;map_name[key]&#x3D;value\\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\\&quot;bob\\&quot;]&#x3D;18\n     * @param {Array<string>} [amdResult]\n     * @param {string} [fts]\n     * @param {Array<string>} [directions]\n     * @param {boolean} [hasTranscript]\n     * @param {string} [agentDescription]\n     * @param {Array<string>} [ownerId]\n     * @param {Array<string>} [granteeId]\n     * @param {Array<string>} [amdAiResult]\n     * @param {string} [talkFrom]\n     * @param {string} [talkTo]\n     * @param {boolean} [rated]\n     * @param {Array<string>} [ratedBy]\n     * @param {string} [scoreRequiredFrom]\n     * @param {string} [scoreRequiredTo]\n     * @param {string} [scoreOptionalFrom]\n     * @param {string} [scoreOptionalTo]\n     * @param {Array<string>} [ratedUser]\n     * @param {Array<string>} [contactId]\n     * @param {Array<number>} [schemaId]\n     * @param {boolean} [hasTransfer]\n     * @param {boolean} [timeline]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchHistoryCall: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      createdAtFrom?: string,\n      createdAtTo?: string,\n      userId?: Array<string>,\n      agentId?: Array<string>,\n      queueId?: Array<string>,\n      teamId?: Array<string>,\n      memberId?: Array<string>,\n      gatewayId?: Array<string>,\n      durationFrom?: string,\n      durationTo?: string,\n      skipParent?: boolean,\n      parentId?: string,\n      cause?: Array<string>,\n      hasFile?: boolean,\n      domainId?: string,\n      number?: string,\n      direction?: string,\n      answeredAtFrom?: string,\n      answeredAtTo?: string,\n      missed?: boolean,\n      storedAtFrom?: string,\n      storedAtTo?: string,\n      id?: Array<string>,\n      transferFrom?: Array<string>,\n      transferTo?: Array<string>,\n      dependencyId?: string,\n      tags?: Array<string>,\n      variablesString?: string,\n      amdResult?: Array<string>,\n      fts?: string,\n      directions?: Array<string>,\n      hasTranscript?: boolean,\n      agentDescription?: string,\n      ownerId?: Array<string>,\n      granteeId?: Array<string>,\n      amdAiResult?: Array<string>,\n      talkFrom?: string,\n      talkTo?: string,\n      rated?: boolean,\n      ratedBy?: Array<string>,\n      scoreRequiredFrom?: string,\n      scoreRequiredTo?: string,\n      scoreOptionalFrom?: string,\n      scoreOptionalTo?: string,\n      ratedUser?: Array<string>,\n      contactId?: Array<string>,\n      schemaId?: Array<number>,\n      hasTransfer?: boolean,\n      timeline?: boolean,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/calls/history`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (createdAtFrom !== undefined) {\n        localVarQueryParameter['created_at.from'] = createdAtFrom\n      }\n\n      if (createdAtTo !== undefined) {\n        localVarQueryParameter['created_at.to'] = createdAtTo\n      }\n\n      if (userId) {\n        localVarQueryParameter['user_id'] = userId\n      }\n\n      if (agentId) {\n        localVarQueryParameter['agent_id'] = agentId\n      }\n\n      if (queueId) {\n        localVarQueryParameter['queue_id'] = queueId\n      }\n\n      if (teamId) {\n        localVarQueryParameter['team_id'] = teamId\n      }\n\n      if (memberId) {\n        localVarQueryParameter['member_id'] = memberId\n      }\n\n      if (gatewayId) {\n        localVarQueryParameter['gateway_id'] = gatewayId\n      }\n\n      if (durationFrom !== undefined) {\n        localVarQueryParameter['duration.from'] = durationFrom\n      }\n\n      if (durationTo !== undefined) {\n        localVarQueryParameter['duration.to'] = durationTo\n      }\n\n      if (skipParent !== undefined) {\n        localVarQueryParameter['skip_parent'] = skipParent\n      }\n\n      if (parentId !== undefined) {\n        localVarQueryParameter['parent_id'] = parentId\n      }\n\n      if (cause) {\n        localVarQueryParameter['cause'] = cause\n      }\n\n      if (hasFile !== undefined) {\n        localVarQueryParameter['has_file'] = hasFile\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      if (number !== undefined) {\n        localVarQueryParameter['number'] = number\n      }\n\n      if (direction !== undefined) {\n        localVarQueryParameter['direction'] = direction\n      }\n\n      if (answeredAtFrom !== undefined) {\n        localVarQueryParameter['answered_at.from'] = answeredAtFrom\n      }\n\n      if (answeredAtTo !== undefined) {\n        localVarQueryParameter['answered_at.to'] = answeredAtTo\n      }\n\n      if (missed !== undefined) {\n        localVarQueryParameter['missed'] = missed\n      }\n\n      if (storedAtFrom !== undefined) {\n        localVarQueryParameter['stored_at.from'] = storedAtFrom\n      }\n\n      if (storedAtTo !== undefined) {\n        localVarQueryParameter['stored_at.to'] = storedAtTo\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (transferFrom) {\n        localVarQueryParameter['transfer_from'] = transferFrom\n      }\n\n      if (transferTo) {\n        localVarQueryParameter['transfer_to'] = transferTo\n      }\n\n      if (dependencyId !== undefined) {\n        localVarQueryParameter['dependency_id'] = dependencyId\n      }\n\n      if (tags) {\n        localVarQueryParameter['tags'] = tags\n      }\n\n      if (variablesString !== undefined) {\n        localVarQueryParameter['variables[string]'] = variablesString\n      }\n\n      if (amdResult) {\n        localVarQueryParameter['amd_result'] = amdResult\n      }\n\n      if (fts !== undefined) {\n        localVarQueryParameter['fts'] = fts\n      }\n\n      if (directions) {\n        localVarQueryParameter['directions'] = directions\n      }\n\n      if (hasTranscript !== undefined) {\n        localVarQueryParameter['has_transcript'] = hasTranscript\n      }\n\n      if (agentDescription !== undefined) {\n        localVarQueryParameter['agent_description'] = agentDescription\n      }\n\n      if (ownerId) {\n        localVarQueryParameter['owner_id'] = ownerId\n      }\n\n      if (granteeId) {\n        localVarQueryParameter['grantee_id'] = granteeId\n      }\n\n      if (amdAiResult) {\n        localVarQueryParameter['amd_ai_result'] = amdAiResult\n      }\n\n      if (talkFrom !== undefined) {\n        localVarQueryParameter['talk.from'] = talkFrom\n      }\n\n      if (talkTo !== undefined) {\n        localVarQueryParameter['talk.to'] = talkTo\n      }\n\n      if (rated !== undefined) {\n        localVarQueryParameter['rated'] = rated\n      }\n\n      if (ratedBy) {\n        localVarQueryParameter['rated_by'] = ratedBy\n      }\n\n      if (scoreRequiredFrom !== undefined) {\n        localVarQueryParameter['score_required.from'] = scoreRequiredFrom\n      }\n\n      if (scoreRequiredTo !== undefined) {\n        localVarQueryParameter['score_required.to'] = scoreRequiredTo\n      }\n\n      if (scoreOptionalFrom !== undefined) {\n        localVarQueryParameter['score_optional.from'] = scoreOptionalFrom\n      }\n\n      if (scoreOptionalTo !== undefined) {\n        localVarQueryParameter['score_optional.to'] = scoreOptionalTo\n      }\n\n      if (ratedUser) {\n        localVarQueryParameter['rated_user'] = ratedUser\n      }\n\n      if (contactId) {\n        localVarQueryParameter['contact_id'] = contactId\n      }\n\n      if (schemaId) {\n        localVarQueryParameter['schema_id'] = schemaId\n      }\n\n      if (hasTransfer !== undefined) {\n        localVarQueryParameter['has_transfer'] = hasTransfer\n      }\n\n      if (timeline !== undefined) {\n        localVarQueryParameter['timeline'] = timeline\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary List of call\n     * @param {EngineSearchHistoryCallRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchHistoryCallPost: async (\n      body: EngineSearchHistoryCallRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling searchHistoryCallPost.'\n        )\n      }\n      const localVarPath = `/calls/history`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineCallServiceSetVariablesCallBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    setVariablesCall: async (\n      id: string,\n      body: EngineCallServiceSetVariablesCallBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling setVariablesCall.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling setVariablesCall.'\n        )\n      }\n      const localVarPath = `/calls/active/{id}/variables`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineCallServiceUnHoldCallBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    unHoldCall: async (\n      id: string,\n      body: EngineCallServiceUnHoldCallBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling unHoldCall.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling unHoldCall.'\n        )\n      }\n      const localVarPath = `/calls/active/{id}/unhold`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} callId\n     * @param {string} id\n     * @param {EngineCallServiceUpdateCallAnnotationBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateCallAnnotation: async (\n      callId: string,\n      id: string,\n      body: EngineCallServiceUpdateCallAnnotationBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'callId' is not null or undefined\n      if (callId === null || callId === undefined) {\n        throw new RequiredError(\n          'callId',\n          'Required parameter callId was null or undefined when calling updateCallAnnotation.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateCallAnnotation.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateCallAnnotation.'\n        )\n      }\n      const localVarPath = `/calls/history/{call_id}/annotation/{id}`\n        .replace(`{${'call_id'}}`, encodeURIComponent(String(callId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * CallServiceApi - functional programming interface\n * @export\n */\nexport const CallServiceApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @param {EngineAggregateHistoryCallRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async aggregateHistoryCall(\n      body: EngineAggregateHistoryCallRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListAggregate>\n    > {\n      const localVarAxiosArgs = await CallServiceApiAxiosParamCreator(\n        configuration\n      ).aggregateHistoryCall(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineCallServiceBlindTransferCallBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async blindTransferCall(\n      id: string,\n      body: EngineCallServiceBlindTransferCallBody,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>\n    > {\n      const localVarAxiosArgs = await CallServiceApiAxiosParamCreator(\n        configuration\n      ).blindTransferCall(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Call item\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async confirmPush(\n      id: string,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>\n    > {\n      const localVarAxiosArgs = await CallServiceApiAxiosParamCreator(\n        configuration\n      ).confirmPush(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {EngineCreateCallRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createCall(\n      body: EngineCreateCallRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineCreateCallResponse>\n    > {\n      const localVarAxiosArgs = await CallServiceApiAxiosParamCreator(\n        configuration\n      ).createCall(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} callId\n     * @param {EngineCallServiceCreateCallAnnotationBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createCallAnnotation(\n      callId: string,\n      body: EngineCallServiceCreateCallAnnotationBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineCallAnnotation>\n    > {\n      const localVarAxiosArgs = await CallServiceApiAxiosParamCreator(\n        configuration\n      ).createCallAnnotation(callId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} callId\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteCallAnnotation(\n      callId: string,\n      id: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineCallAnnotation>\n    > {\n      const localVarAxiosArgs = await CallServiceApiAxiosParamCreator(\n        configuration\n      ).deleteCallAnnotation(callId, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineCallServiceDtmfCallBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async dtmfCall(\n      id: string,\n      body: EngineCallServiceDtmfCallBody,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>\n    > {\n      const localVarAxiosArgs = await CallServiceApiAxiosParamCreator(\n        configuration\n      ).dtmfCall(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineCallServiceEavesdropCallBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async eavesdropCall(\n      id: string,\n      body: EngineCallServiceEavesdropCallBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineCreateCallResponse>\n    > {\n      const localVarAxiosArgs = await CallServiceApiAxiosParamCreator(\n        configuration\n      ).eavesdropCall(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineCallServiceHangupCallBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async hangupCall(\n      id: string,\n      body: EngineCallServiceHangupCallBody,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>\n    > {\n      const localVarAxiosArgs = await CallServiceApiAxiosParamCreator(\n        configuration\n      ).hangupCall(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineCallServiceHoldCallBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async holdCall(\n      id: string,\n      body: EngineCallServiceHoldCallBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineHoldCallResponse>\n    > {\n      const localVarAxiosArgs = await CallServiceApiAxiosParamCreator(\n        configuration\n      ).holdCall(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineCallServicePatchHistoryCallBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async patchHistoryCall(\n      id: string,\n      body: EngineCallServicePatchHistoryCallBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineHistoryCall>\n    > {\n      const localVarAxiosArgs = await CallServiceApiAxiosParamCreator(\n        configuration\n      ).patchHistoryCall(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Call item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readCall(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineActiveCall>\n    > {\n      const localVarAxiosArgs = await CallServiceApiAxiosParamCreator(\n        configuration\n      ).readCall(id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} callId\n     * @param {object} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async redialCall(\n      callId: string,\n      body: object,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineCreateCallResponse>\n    > {\n      const localVarAxiosArgs = await CallServiceApiAxiosParamCreator(\n        configuration\n      ).redialCall(callId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {string} [createdAtFrom]\n     * @param {string} [createdAtTo]\n     * @param {Array<string>} [userId]\n     * @param {Array<string>} [agentId]\n     * @param {Array<string>} [queueId]\n     * @param {Array<string>} [teamId]\n     * @param {Array<string>} [memberId]\n     * @param {Array<string>} [gatewayId]\n     * @param {string} [durationFrom]\n     * @param {string} [durationTo]\n     * @param {boolean} [skipParent]\n     * @param {string} [parentId]\n     * @param {Array<string>} [cause]\n     * @param {boolean} [existsFile]\n     * @param {string} [domainId]\n     * @param {string} [number]\n     * @param {Array<string>} [direction]\n     * @param {string} [answeredAtFrom]\n     * @param {string} [answeredAtTo]\n     * @param {boolean} [missed]\n     * @param {string} [storedAtFrom]\n     * @param {string} [storedAtTo]\n     * @param {Array<string>} [supervisorId]\n     * @param {Array<string>} [state]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchActiveCall(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      createdAtFrom?: string,\n      createdAtTo?: string,\n      userId?: Array<string>,\n      agentId?: Array<string>,\n      queueId?: Array<string>,\n      teamId?: Array<string>,\n      memberId?: Array<string>,\n      gatewayId?: Array<string>,\n      durationFrom?: string,\n      durationTo?: string,\n      skipParent?: boolean,\n      parentId?: string,\n      cause?: Array<string>,\n      existsFile?: boolean,\n      domainId?: string,\n      number?: string,\n      direction?: Array<string>,\n      answeredAtFrom?: string,\n      answeredAtTo?: string,\n      missed?: boolean,\n      storedAtFrom?: string,\n      storedAtTo?: string,\n      supervisorId?: Array<string>,\n      state?: Array<string>,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineListCall>\n    > {\n      const localVarAxiosArgs = await CallServiceApiAxiosParamCreator(\n        configuration\n      ).searchActiveCall(\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        createdAtFrom,\n        createdAtTo,\n        userId,\n        agentId,\n        queueId,\n        teamId,\n        memberId,\n        gatewayId,\n        durationFrom,\n        durationTo,\n        skipParent,\n        parentId,\n        cause,\n        existsFile,\n        domainId,\n        number,\n        direction,\n        answeredAtFrom,\n        answeredAtTo,\n        missed,\n        storedAtFrom,\n        storedAtTo,\n        supervisorId,\n        state,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary List of call\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {string} [createdAtFrom]\n     * @param {string} [createdAtTo]\n     * @param {Array<string>} [userId]\n     * @param {Array<string>} [agentId]\n     * @param {Array<string>} [queueId]\n     * @param {Array<string>} [teamId]\n     * @param {Array<string>} [memberId]\n     * @param {Array<string>} [gatewayId]\n     * @param {string} [durationFrom]\n     * @param {string} [durationTo]\n     * @param {boolean} [skipParent]\n     * @param {string} [parentId]\n     * @param {Array<string>} [cause]\n     * @param {boolean} [hasFile]\n     * @param {string} [domainId]\n     * @param {string} [number]\n     * @param {string} [direction]\n     * @param {string} [answeredAtFrom]\n     * @param {string} [answeredAtTo]\n     * @param {boolean} [missed]\n     * @param {string} [storedAtFrom]\n     * @param {string} [storedAtTo]\n     * @param {Array<string>} [id]\n     * @param {Array<string>} [transferFrom]\n     * @param {Array<string>} [transferTo]\n     * @param {string} [dependencyId]\n     * @param {Array<string>} [tags]\n     * @param {string} [variablesString] This is a request variable of the map type. The query format is \\&quot;map_name[key]&#x3D;value\\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\\&quot;bob\\&quot;]&#x3D;18\n     * @param {Array<string>} [amdResult]\n     * @param {string} [fts]\n     * @param {Array<string>} [directions]\n     * @param {boolean} [hasTranscript]\n     * @param {string} [agentDescription]\n     * @param {Array<string>} [ownerId]\n     * @param {Array<string>} [granteeId]\n     * @param {Array<string>} [amdAiResult]\n     * @param {string} [talkFrom]\n     * @param {string} [talkTo]\n     * @param {boolean} [rated]\n     * @param {Array<string>} [ratedBy]\n     * @param {string} [scoreRequiredFrom]\n     * @param {string} [scoreRequiredTo]\n     * @param {string} [scoreOptionalFrom]\n     * @param {string} [scoreOptionalTo]\n     * @param {Array<string>} [ratedUser]\n     * @param {Array<string>} [contactId]\n     * @param {Array<number>} [schemaId]\n     * @param {boolean} [hasTransfer]\n     * @param {boolean} [timeline]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchHistoryCall(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      createdAtFrom?: string,\n      createdAtTo?: string,\n      userId?: Array<string>,\n      agentId?: Array<string>,\n      queueId?: Array<string>,\n      teamId?: Array<string>,\n      memberId?: Array<string>,\n      gatewayId?: Array<string>,\n      durationFrom?: string,\n      durationTo?: string,\n      skipParent?: boolean,\n      parentId?: string,\n      cause?: Array<string>,\n      hasFile?: boolean,\n      domainId?: string,\n      number?: string,\n      direction?: string,\n      answeredAtFrom?: string,\n      answeredAtTo?: string,\n      missed?: boolean,\n      storedAtFrom?: string,\n      storedAtTo?: string,\n      id?: Array<string>,\n      transferFrom?: Array<string>,\n      transferTo?: Array<string>,\n      dependencyId?: string,\n      tags?: Array<string>,\n      variablesString?: string,\n      amdResult?: Array<string>,\n      fts?: string,\n      directions?: Array<string>,\n      hasTranscript?: boolean,\n      agentDescription?: string,\n      ownerId?: Array<string>,\n      granteeId?: Array<string>,\n      amdAiResult?: Array<string>,\n      talkFrom?: string,\n      talkTo?: string,\n      rated?: boolean,\n      ratedBy?: Array<string>,\n      scoreRequiredFrom?: string,\n      scoreRequiredTo?: string,\n      scoreOptionalFrom?: string,\n      scoreOptionalTo?: string,\n      ratedUser?: Array<string>,\n      contactId?: Array<string>,\n      schemaId?: Array<number>,\n      hasTransfer?: boolean,\n      timeline?: boolean,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListHistoryCall>\n    > {\n      const localVarAxiosArgs = await CallServiceApiAxiosParamCreator(\n        configuration\n      ).searchHistoryCall(\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        createdAtFrom,\n        createdAtTo,\n        userId,\n        agentId,\n        queueId,\n        teamId,\n        memberId,\n        gatewayId,\n        durationFrom,\n        durationTo,\n        skipParent,\n        parentId,\n        cause,\n        hasFile,\n        domainId,\n        number,\n        direction,\n        answeredAtFrom,\n        answeredAtTo,\n        missed,\n        storedAtFrom,\n        storedAtTo,\n        id,\n        transferFrom,\n        transferTo,\n        dependencyId,\n        tags,\n        variablesString,\n        amdResult,\n        fts,\n        directions,\n        hasTranscript,\n        agentDescription,\n        ownerId,\n        granteeId,\n        amdAiResult,\n        talkFrom,\n        talkTo,\n        rated,\n        ratedBy,\n        scoreRequiredFrom,\n        scoreRequiredTo,\n        scoreOptionalFrom,\n        scoreOptionalTo,\n        ratedUser,\n        contactId,\n        schemaId,\n        hasTransfer,\n        timeline,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary List of call\n     * @param {EngineSearchHistoryCallRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchHistoryCallPost(\n      body: EngineSearchHistoryCallRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListHistoryCall>\n    > {\n      const localVarAxiosArgs = await CallServiceApiAxiosParamCreator(\n        configuration\n      ).searchHistoryCallPost(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineCallServiceSetVariablesCallBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async setVariablesCall(\n      id: string,\n      body: EngineCallServiceSetVariablesCallBody,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>\n    > {\n      const localVarAxiosArgs = await CallServiceApiAxiosParamCreator(\n        configuration\n      ).setVariablesCall(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineCallServiceUnHoldCallBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async unHoldCall(\n      id: string,\n      body: EngineCallServiceUnHoldCallBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineHoldCallResponse>\n    > {\n      const localVarAxiosArgs = await CallServiceApiAxiosParamCreator(\n        configuration\n      ).unHoldCall(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} callId\n     * @param {string} id\n     * @param {EngineCallServiceUpdateCallAnnotationBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateCallAnnotation(\n      callId: string,\n      id: string,\n      body: EngineCallServiceUpdateCallAnnotationBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineCallAnnotation>\n    > {\n      const localVarAxiosArgs = await CallServiceApiAxiosParamCreator(\n        configuration\n      ).updateCallAnnotation(callId, id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * CallServiceApi - factory interface\n * @export\n */\nexport const CallServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {EngineAggregateHistoryCallRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    aggregateHistoryCall(\n      body: EngineAggregateHistoryCallRequest,\n      options?: any\n    ): AxiosPromise<EngineListAggregate> {\n      return CallServiceApiFp(configuration)\n        .aggregateHistoryCall(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineCallServiceBlindTransferCallBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    blindTransferCall(\n      id: string,\n      body: EngineCallServiceBlindTransferCallBody,\n      options?: any\n    ): AxiosPromise<object> {\n      return CallServiceApiFp(configuration)\n        .blindTransferCall(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Call item\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    confirmPush(id: string, options?: any): AxiosPromise<object> {\n      return CallServiceApiFp(configuration)\n        .confirmPush(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {EngineCreateCallRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createCall(\n      body: EngineCreateCallRequest,\n      options?: any\n    ): AxiosPromise<EngineCreateCallResponse> {\n      return CallServiceApiFp(configuration)\n        .createCall(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} callId\n     * @param {EngineCallServiceCreateCallAnnotationBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createCallAnnotation(\n      callId: string,\n      body: EngineCallServiceCreateCallAnnotationBody,\n      options?: any\n    ): AxiosPromise<EngineCallAnnotation> {\n      return CallServiceApiFp(configuration)\n        .createCallAnnotation(callId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} callId\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteCallAnnotation(\n      callId: string,\n      id: string,\n      options?: any\n    ): AxiosPromise<EngineCallAnnotation> {\n      return CallServiceApiFp(configuration)\n        .deleteCallAnnotation(callId, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineCallServiceDtmfCallBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    dtmfCall(\n      id: string,\n      body: EngineCallServiceDtmfCallBody,\n      options?: any\n    ): AxiosPromise<object> {\n      return CallServiceApiFp(configuration)\n        .dtmfCall(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineCallServiceEavesdropCallBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    eavesdropCall(\n      id: string,\n      body: EngineCallServiceEavesdropCallBody,\n      options?: any\n    ): AxiosPromise<EngineCreateCallResponse> {\n      return CallServiceApiFp(configuration)\n        .eavesdropCall(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineCallServiceHangupCallBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    hangupCall(\n      id: string,\n      body: EngineCallServiceHangupCallBody,\n      options?: any\n    ): AxiosPromise<object> {\n      return CallServiceApiFp(configuration)\n        .hangupCall(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineCallServiceHoldCallBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    holdCall(\n      id: string,\n      body: EngineCallServiceHoldCallBody,\n      options?: any\n    ): AxiosPromise<EngineHoldCallResponse> {\n      return CallServiceApiFp(configuration)\n        .holdCall(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineCallServicePatchHistoryCallBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchHistoryCall(\n      id: string,\n      body: EngineCallServicePatchHistoryCallBody,\n      options?: any\n    ): AxiosPromise<EngineHistoryCall> {\n      return CallServiceApiFp(configuration)\n        .patchHistoryCall(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Call item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readCall(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineActiveCall> {\n      return CallServiceApiFp(configuration)\n        .readCall(id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} callId\n     * @param {object} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    redialCall(\n      callId: string,\n      body: object,\n      options?: any\n    ): AxiosPromise<EngineCreateCallResponse> {\n      return CallServiceApiFp(configuration)\n        .redialCall(callId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {string} [createdAtFrom]\n     * @param {string} [createdAtTo]\n     * @param {Array<string>} [userId]\n     * @param {Array<string>} [agentId]\n     * @param {Array<string>} [queueId]\n     * @param {Array<string>} [teamId]\n     * @param {Array<string>} [memberId]\n     * @param {Array<string>} [gatewayId]\n     * @param {string} [durationFrom]\n     * @param {string} [durationTo]\n     * @param {boolean} [skipParent]\n     * @param {string} [parentId]\n     * @param {Array<string>} [cause]\n     * @param {boolean} [existsFile]\n     * @param {string} [domainId]\n     * @param {string} [number]\n     * @param {Array<string>} [direction]\n     * @param {string} [answeredAtFrom]\n     * @param {string} [answeredAtTo]\n     * @param {boolean} [missed]\n     * @param {string} [storedAtFrom]\n     * @param {string} [storedAtTo]\n     * @param {Array<string>} [supervisorId]\n     * @param {Array<string>} [state]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchActiveCall(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      createdAtFrom?: string,\n      createdAtTo?: string,\n      userId?: Array<string>,\n      agentId?: Array<string>,\n      queueId?: Array<string>,\n      teamId?: Array<string>,\n      memberId?: Array<string>,\n      gatewayId?: Array<string>,\n      durationFrom?: string,\n      durationTo?: string,\n      skipParent?: boolean,\n      parentId?: string,\n      cause?: Array<string>,\n      existsFile?: boolean,\n      domainId?: string,\n      number?: string,\n      direction?: Array<string>,\n      answeredAtFrom?: string,\n      answeredAtTo?: string,\n      missed?: boolean,\n      storedAtFrom?: string,\n      storedAtTo?: string,\n      supervisorId?: Array<string>,\n      state?: Array<string>,\n      options?: any\n    ): AxiosPromise<EngineListCall> {\n      return CallServiceApiFp(configuration)\n        .searchActiveCall(\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          createdAtFrom,\n          createdAtTo,\n          userId,\n          agentId,\n          queueId,\n          teamId,\n          memberId,\n          gatewayId,\n          durationFrom,\n          durationTo,\n          skipParent,\n          parentId,\n          cause,\n          existsFile,\n          domainId,\n          number,\n          direction,\n          answeredAtFrom,\n          answeredAtTo,\n          missed,\n          storedAtFrom,\n          storedAtTo,\n          supervisorId,\n          state,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary List of call\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {string} [createdAtFrom]\n     * @param {string} [createdAtTo]\n     * @param {Array<string>} [userId]\n     * @param {Array<string>} [agentId]\n     * @param {Array<string>} [queueId]\n     * @param {Array<string>} [teamId]\n     * @param {Array<string>} [memberId]\n     * @param {Array<string>} [gatewayId]\n     * @param {string} [durationFrom]\n     * @param {string} [durationTo]\n     * @param {boolean} [skipParent]\n     * @param {string} [parentId]\n     * @param {Array<string>} [cause]\n     * @param {boolean} [hasFile]\n     * @param {string} [domainId]\n     * @param {string} [number]\n     * @param {string} [direction]\n     * @param {string} [answeredAtFrom]\n     * @param {string} [answeredAtTo]\n     * @param {boolean} [missed]\n     * @param {string} [storedAtFrom]\n     * @param {string} [storedAtTo]\n     * @param {Array<string>} [id]\n     * @param {Array<string>} [transferFrom]\n     * @param {Array<string>} [transferTo]\n     * @param {string} [dependencyId]\n     * @param {Array<string>} [tags]\n     * @param {string} [variablesString] This is a request variable of the map type. The query format is \\&quot;map_name[key]&#x3D;value\\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\\&quot;bob\\&quot;]&#x3D;18\n     * @param {Array<string>} [amdResult]\n     * @param {string} [fts]\n     * @param {Array<string>} [directions]\n     * @param {boolean} [hasTranscript]\n     * @param {string} [agentDescription]\n     * @param {Array<string>} [ownerId]\n     * @param {Array<string>} [granteeId]\n     * @param {Array<string>} [amdAiResult]\n     * @param {string} [talkFrom]\n     * @param {string} [talkTo]\n     * @param {boolean} [rated]\n     * @param {Array<string>} [ratedBy]\n     * @param {string} [scoreRequiredFrom]\n     * @param {string} [scoreRequiredTo]\n     * @param {string} [scoreOptionalFrom]\n     * @param {string} [scoreOptionalTo]\n     * @param {Array<string>} [ratedUser]\n     * @param {Array<string>} [contactId]\n     * @param {Array<number>} [schemaId]\n     * @param {boolean} [hasTransfer]\n     * @param {boolean} [timeline]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchHistoryCall(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      createdAtFrom?: string,\n      createdAtTo?: string,\n      userId?: Array<string>,\n      agentId?: Array<string>,\n      queueId?: Array<string>,\n      teamId?: Array<string>,\n      memberId?: Array<string>,\n      gatewayId?: Array<string>,\n      durationFrom?: string,\n      durationTo?: string,\n      skipParent?: boolean,\n      parentId?: string,\n      cause?: Array<string>,\n      hasFile?: boolean,\n      domainId?: string,\n      number?: string,\n      direction?: string,\n      answeredAtFrom?: string,\n      answeredAtTo?: string,\n      missed?: boolean,\n      storedAtFrom?: string,\n      storedAtTo?: string,\n      id?: Array<string>,\n      transferFrom?: Array<string>,\n      transferTo?: Array<string>,\n      dependencyId?: string,\n      tags?: Array<string>,\n      variablesString?: string,\n      amdResult?: Array<string>,\n      fts?: string,\n      directions?: Array<string>,\n      hasTranscript?: boolean,\n      agentDescription?: string,\n      ownerId?: Array<string>,\n      granteeId?: Array<string>,\n      amdAiResult?: Array<string>,\n      talkFrom?: string,\n      talkTo?: string,\n      rated?: boolean,\n      ratedBy?: Array<string>,\n      scoreRequiredFrom?: string,\n      scoreRequiredTo?: string,\n      scoreOptionalFrom?: string,\n      scoreOptionalTo?: string,\n      ratedUser?: Array<string>,\n      contactId?: Array<string>,\n      schemaId?: Array<number>,\n      hasTransfer?: boolean,\n      timeline?: boolean,\n      options?: any\n    ): AxiosPromise<EngineListHistoryCall> {\n      return CallServiceApiFp(configuration)\n        .searchHistoryCall(\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          createdAtFrom,\n          createdAtTo,\n          userId,\n          agentId,\n          queueId,\n          teamId,\n          memberId,\n          gatewayId,\n          durationFrom,\n          durationTo,\n          skipParent,\n          parentId,\n          cause,\n          hasFile,\n          domainId,\n          number,\n          direction,\n          answeredAtFrom,\n          answeredAtTo,\n          missed,\n          storedAtFrom,\n          storedAtTo,\n          id,\n          transferFrom,\n          transferTo,\n          dependencyId,\n          tags,\n          variablesString,\n          amdResult,\n          fts,\n          directions,\n          hasTranscript,\n          agentDescription,\n          ownerId,\n          granteeId,\n          amdAiResult,\n          talkFrom,\n          talkTo,\n          rated,\n          ratedBy,\n          scoreRequiredFrom,\n          scoreRequiredTo,\n          scoreOptionalFrom,\n          scoreOptionalTo,\n          ratedUser,\n          contactId,\n          schemaId,\n          hasTransfer,\n          timeline,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary List of call\n     * @param {EngineSearchHistoryCallRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchHistoryCallPost(\n      body: EngineSearchHistoryCallRequest,\n      options?: any\n    ): AxiosPromise<EngineListHistoryCall> {\n      return CallServiceApiFp(configuration)\n        .searchHistoryCallPost(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineCallServiceSetVariablesCallBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    setVariablesCall(\n      id: string,\n      body: EngineCallServiceSetVariablesCallBody,\n      options?: any\n    ): AxiosPromise<object> {\n      return CallServiceApiFp(configuration)\n        .setVariablesCall(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineCallServiceUnHoldCallBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    unHoldCall(\n      id: string,\n      body: EngineCallServiceUnHoldCallBody,\n      options?: any\n    ): AxiosPromise<EngineHoldCallResponse> {\n      return CallServiceApiFp(configuration)\n        .unHoldCall(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} callId\n     * @param {string} id\n     * @param {EngineCallServiceUpdateCallAnnotationBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateCallAnnotation(\n      callId: string,\n      id: string,\n      body: EngineCallServiceUpdateCallAnnotationBody,\n      options?: any\n    ): AxiosPromise<EngineCallAnnotation> {\n      return CallServiceApiFp(configuration)\n        .updateCallAnnotation(callId, id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * CallServiceApi - object-oriented interface\n * @export\n * @class CallServiceApi\n * @extends {BaseAPI}\n */\nexport class CallServiceApi extends BaseAPI {\n  /**\n   *\n   * @param {EngineAggregateHistoryCallRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CallServiceApi\n   */\n  public aggregateHistoryCall(\n    body: EngineAggregateHistoryCallRequest,\n    options?: any\n  ) {\n    return CallServiceApiFp(this.configuration)\n      .aggregateHistoryCall(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {EngineCallServiceBlindTransferCallBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CallServiceApi\n   */\n  public blindTransferCall(\n    id: string,\n    body: EngineCallServiceBlindTransferCallBody,\n    options?: any\n  ) {\n    return CallServiceApiFp(this.configuration)\n      .blindTransferCall(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Call item\n   * @param {string} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CallServiceApi\n   */\n  public confirmPush(id: string, options?: any) {\n    return CallServiceApiFp(this.configuration)\n      .confirmPush(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {EngineCreateCallRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CallServiceApi\n   */\n  public createCall(body: EngineCreateCallRequest, options?: any) {\n    return CallServiceApiFp(this.configuration)\n      .createCall(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} callId\n   * @param {EngineCallServiceCreateCallAnnotationBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CallServiceApi\n   */\n  public createCallAnnotation(\n    callId: string,\n    body: EngineCallServiceCreateCallAnnotationBody,\n    options?: any\n  ) {\n    return CallServiceApiFp(this.configuration)\n      .createCallAnnotation(callId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} callId\n   * @param {string} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CallServiceApi\n   */\n  public deleteCallAnnotation(callId: string, id: string, options?: any) {\n    return CallServiceApiFp(this.configuration)\n      .deleteCallAnnotation(callId, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {EngineCallServiceDtmfCallBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CallServiceApi\n   */\n  public dtmfCall(\n    id: string,\n    body: EngineCallServiceDtmfCallBody,\n    options?: any\n  ) {\n    return CallServiceApiFp(this.configuration)\n      .dtmfCall(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {EngineCallServiceEavesdropCallBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CallServiceApi\n   */\n  public eavesdropCall(\n    id: string,\n    body: EngineCallServiceEavesdropCallBody,\n    options?: any\n  ) {\n    return CallServiceApiFp(this.configuration)\n      .eavesdropCall(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {EngineCallServiceHangupCallBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CallServiceApi\n   */\n  public hangupCall(\n    id: string,\n    body: EngineCallServiceHangupCallBody,\n    options?: any\n  ) {\n    return CallServiceApiFp(this.configuration)\n      .hangupCall(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {EngineCallServiceHoldCallBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CallServiceApi\n   */\n  public holdCall(\n    id: string,\n    body: EngineCallServiceHoldCallBody,\n    options?: any\n  ) {\n    return CallServiceApiFp(this.configuration)\n      .holdCall(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {EngineCallServicePatchHistoryCallBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CallServiceApi\n   */\n  public patchHistoryCall(\n    id: string,\n    body: EngineCallServicePatchHistoryCallBody,\n    options?: any\n  ) {\n    return CallServiceApiFp(this.configuration)\n      .patchHistoryCall(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Call item\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CallServiceApi\n   */\n  public readCall(id: string, domainId?: string, options?: any) {\n    return CallServiceApiFp(this.configuration)\n      .readCall(id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} callId\n   * @param {object} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CallServiceApi\n   */\n  public redialCall(callId: string, body: object, options?: any) {\n    return CallServiceApiFp(this.configuration)\n      .redialCall(callId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {string} [createdAtFrom]\n   * @param {string} [createdAtTo]\n   * @param {Array<string>} [userId]\n   * @param {Array<string>} [agentId]\n   * @param {Array<string>} [queueId]\n   * @param {Array<string>} [teamId]\n   * @param {Array<string>} [memberId]\n   * @param {Array<string>} [gatewayId]\n   * @param {string} [durationFrom]\n   * @param {string} [durationTo]\n   * @param {boolean} [skipParent]\n   * @param {string} [parentId]\n   * @param {Array<string>} [cause]\n   * @param {boolean} [existsFile]\n   * @param {string} [domainId]\n   * @param {string} [number]\n   * @param {Array<string>} [direction]\n   * @param {string} [answeredAtFrom]\n   * @param {string} [answeredAtTo]\n   * @param {boolean} [missed]\n   * @param {string} [storedAtFrom]\n   * @param {string} [storedAtTo]\n   * @param {Array<string>} [supervisorId]\n   * @param {Array<string>} [state]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CallServiceApi\n   */\n  public searchActiveCall(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    createdAtFrom?: string,\n    createdAtTo?: string,\n    userId?: Array<string>,\n    agentId?: Array<string>,\n    queueId?: Array<string>,\n    teamId?: Array<string>,\n    memberId?: Array<string>,\n    gatewayId?: Array<string>,\n    durationFrom?: string,\n    durationTo?: string,\n    skipParent?: boolean,\n    parentId?: string,\n    cause?: Array<string>,\n    existsFile?: boolean,\n    domainId?: string,\n    number?: string,\n    direction?: Array<string>,\n    answeredAtFrom?: string,\n    answeredAtTo?: string,\n    missed?: boolean,\n    storedAtFrom?: string,\n    storedAtTo?: string,\n    supervisorId?: Array<string>,\n    state?: Array<string>,\n    options?: any\n  ) {\n    return CallServiceApiFp(this.configuration)\n      .searchActiveCall(\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        createdAtFrom,\n        createdAtTo,\n        userId,\n        agentId,\n        queueId,\n        teamId,\n        memberId,\n        gatewayId,\n        durationFrom,\n        durationTo,\n        skipParent,\n        parentId,\n        cause,\n        existsFile,\n        domainId,\n        number,\n        direction,\n        answeredAtFrom,\n        answeredAtTo,\n        missed,\n        storedAtFrom,\n        storedAtTo,\n        supervisorId,\n        state,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary List of call\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {string} [createdAtFrom]\n   * @param {string} [createdAtTo]\n   * @param {Array<string>} [userId]\n   * @param {Array<string>} [agentId]\n   * @param {Array<string>} [queueId]\n   * @param {Array<string>} [teamId]\n   * @param {Array<string>} [memberId]\n   * @param {Array<string>} [gatewayId]\n   * @param {string} [durationFrom]\n   * @param {string} [durationTo]\n   * @param {boolean} [skipParent]\n   * @param {string} [parentId]\n   * @param {Array<string>} [cause]\n   * @param {boolean} [hasFile]\n   * @param {string} [domainId]\n   * @param {string} [number]\n   * @param {string} [direction]\n   * @param {string} [answeredAtFrom]\n   * @param {string} [answeredAtTo]\n   * @param {boolean} [missed]\n   * @param {string} [storedAtFrom]\n   * @param {string} [storedAtTo]\n   * @param {Array<string>} [id]\n   * @param {Array<string>} [transferFrom]\n   * @param {Array<string>} [transferTo]\n   * @param {string} [dependencyId]\n   * @param {Array<string>} [tags]\n   * @param {string} [variablesString] This is a request variable of the map type. The query format is \\&quot;map_name[key]&#x3D;value\\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\\&quot;bob\\&quot;]&#x3D;18\n   * @param {Array<string>} [amdResult]\n   * @param {string} [fts]\n   * @param {Array<string>} [directions]\n   * @param {boolean} [hasTranscript]\n   * @param {string} [agentDescription]\n   * @param {Array<string>} [ownerId]\n   * @param {Array<string>} [granteeId]\n   * @param {Array<string>} [amdAiResult]\n   * @param {string} [talkFrom]\n   * @param {string} [talkTo]\n   * @param {boolean} [rated]\n   * @param {Array<string>} [ratedBy]\n   * @param {string} [scoreRequiredFrom]\n   * @param {string} [scoreRequiredTo]\n   * @param {string} [scoreOptionalFrom]\n   * @param {string} [scoreOptionalTo]\n   * @param {Array<string>} [ratedUser]\n   * @param {Array<string>} [contactId]\n   * @param {Array<number>} [schemaId]\n   * @param {boolean} [hasTransfer]\n   * @param {boolean} [timeline]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CallServiceApi\n   */\n  public searchHistoryCall(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    createdAtFrom?: string,\n    createdAtTo?: string,\n    userId?: Array<string>,\n    agentId?: Array<string>,\n    queueId?: Array<string>,\n    teamId?: Array<string>,\n    memberId?: Array<string>,\n    gatewayId?: Array<string>,\n    durationFrom?: string,\n    durationTo?: string,\n    skipParent?: boolean,\n    parentId?: string,\n    cause?: Array<string>,\n    hasFile?: boolean,\n    domainId?: string,\n    number?: string,\n    direction?: string,\n    answeredAtFrom?: string,\n    answeredAtTo?: string,\n    missed?: boolean,\n    storedAtFrom?: string,\n    storedAtTo?: string,\n    id?: Array<string>,\n    transferFrom?: Array<string>,\n    transferTo?: Array<string>,\n    dependencyId?: string,\n    tags?: Array<string>,\n    variablesString?: string,\n    amdResult?: Array<string>,\n    fts?: string,\n    directions?: Array<string>,\n    hasTranscript?: boolean,\n    agentDescription?: string,\n    ownerId?: Array<string>,\n    granteeId?: Array<string>,\n    amdAiResult?: Array<string>,\n    talkFrom?: string,\n    talkTo?: string,\n    rated?: boolean,\n    ratedBy?: Array<string>,\n    scoreRequiredFrom?: string,\n    scoreRequiredTo?: string,\n    scoreOptionalFrom?: string,\n    scoreOptionalTo?: string,\n    ratedUser?: Array<string>,\n    contactId?: Array<string>,\n    schemaId?: Array<number>,\n    hasTransfer?: boolean,\n    timeline?: boolean,\n    options?: any\n  ) {\n    return CallServiceApiFp(this.configuration)\n      .searchHistoryCall(\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        createdAtFrom,\n        createdAtTo,\n        userId,\n        agentId,\n        queueId,\n        teamId,\n        memberId,\n        gatewayId,\n        durationFrom,\n        durationTo,\n        skipParent,\n        parentId,\n        cause,\n        hasFile,\n        domainId,\n        number,\n        direction,\n        answeredAtFrom,\n        answeredAtTo,\n        missed,\n        storedAtFrom,\n        storedAtTo,\n        id,\n        transferFrom,\n        transferTo,\n        dependencyId,\n        tags,\n        variablesString,\n        amdResult,\n        fts,\n        directions,\n        hasTranscript,\n        agentDescription,\n        ownerId,\n        granteeId,\n        amdAiResult,\n        talkFrom,\n        talkTo,\n        rated,\n        ratedBy,\n        scoreRequiredFrom,\n        scoreRequiredTo,\n        scoreOptionalFrom,\n        scoreOptionalTo,\n        ratedUser,\n        contactId,\n        schemaId,\n        hasTransfer,\n        timeline,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary List of call\n   * @param {EngineSearchHistoryCallRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CallServiceApi\n   */\n  public searchHistoryCallPost(\n    body: EngineSearchHistoryCallRequest,\n    options?: any\n  ) {\n    return CallServiceApiFp(this.configuration)\n      .searchHistoryCallPost(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {EngineCallServiceSetVariablesCallBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CallServiceApi\n   */\n  public setVariablesCall(\n    id: string,\n    body: EngineCallServiceSetVariablesCallBody,\n    options?: any\n  ) {\n    return CallServiceApiFp(this.configuration)\n      .setVariablesCall(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {EngineCallServiceUnHoldCallBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CallServiceApi\n   */\n  public unHoldCall(\n    id: string,\n    body: EngineCallServiceUnHoldCallBody,\n    options?: any\n  ) {\n    return CallServiceApiFp(this.configuration)\n      .unHoldCall(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} callId\n   * @param {string} id\n   * @param {EngineCallServiceUpdateCallAnnotationBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CallServiceApi\n   */\n  public updateCallAnnotation(\n    callId: string,\n    id: string,\n    body: EngineCallServiceUpdateCallAnnotationBody,\n    options?: any\n  ) {\n    return CallServiceApiFp(this.configuration)\n      .updateCallAnnotation(callId, id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { DataForTheCommentToUpdate } from '../api'\n// @ts-ignore\nimport { DataForTheCommentToUpdate1 } from '../api'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n// @ts-ignore\nimport { WebitelCasesCaseComment } from '../api'\n// @ts-ignore\nimport { WebitelCasesCaseCommentList } from '../api'\n// @ts-ignore\nimport { WebitelCasesInputCaseComment } from '../api'\n/**\n * CaseCommentsApi - axios parameter creator\n * @export\n */\nexport const CaseCommentsApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Delete a specific comment by its etag\n     * @param {string} etag Identifier of the comment to delete.\n     * @param {Array<string>} [fields] Fields to return after deletion.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteComment: async (\n      etag: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling deleteComment.'\n        )\n      }\n      const localVarPath = `/cases/comments/{etag}`.replace(\n        `{${'etag'}}`,\n        encodeURIComponent(String(etag))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Retrieve a list of comments associated with a specific case\n     * @param {string} caseEtag Etag or ID of the case for which comments are requested.\n     * @param {number} [page] Page number for pagination.\n     * @param {number} [size] Number of comments per page.\n     * @param {string} [q] Query string for search.\n     * @param {Array<string>} [ids] Array of requested id.\n     * @param {string} [sort] Sorting order.\n     * @param {Array<string>} [fields] Fields to return for each comment.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listComments: async (\n      caseEtag: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      ids?: Array<string>,\n      sort?: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'caseEtag' is not null or undefined\n      if (caseEtag === null || caseEtag === undefined) {\n        throw new RequiredError(\n          'caseEtag',\n          'Required parameter caseEtag was null or undefined when calling listComments.'\n        )\n      }\n      const localVarPath = `/cases/{case_etag}/comments`.replace(\n        `{${'case_etag'}}`,\n        encodeURIComponent(String(caseEtag))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (ids) {\n        localVarQueryParameter['ids'] = ids\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Retrieve a specific comment by its etag\n     * @param {string} etag Identifier of the comment to retrieve.\n     * @param {Array<string>} [fields] Specific fields to return for the comment.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateComment: async (\n      etag: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling locateComment.'\n        )\n      }\n      const localVarPath = `/cases/comments/{etag}`.replace(\n        `{${'etag'}}`,\n        encodeURIComponent(String(etag))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Publish comment into a specific case\n     * @param {string} caseEtag Etag or ID of the case to which comments belong.\n     * @param {WebitelCasesInputCaseComment} input Comment to publish.\n     * @param {Array<string>} [fields] Result fields to include in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    publishComment: async (\n      caseEtag: string,\n      input: WebitelCasesInputCaseComment,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'caseEtag' is not null or undefined\n      if (caseEtag === null || caseEtag === undefined) {\n        throw new RequiredError(\n          'caseEtag',\n          'Required parameter caseEtag was null or undefined when calling publishComment.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling publishComment.'\n        )\n      }\n      const localVarPath = `/cases/{case_etag}/comments`.replace(\n        `{${'case_etag'}}`,\n        encodeURIComponent(String(caseEtag))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update a specific comment by its etag\n     * @param {string} inputEtag Identifier for the comment.\n     * @param {DataForTheCommentToUpdate} input\n     * @param {Array<string>} [fields] Fields to include in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateComment: async (\n      inputEtag: string,\n      input: DataForTheCommentToUpdate,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'inputEtag' is not null or undefined\n      if (inputEtag === null || inputEtag === undefined) {\n        throw new RequiredError(\n          'inputEtag',\n          'Required parameter inputEtag was null or undefined when calling updateComment.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateComment.'\n        )\n      }\n      const localVarPath = `/cases/comments/{input.etag}`.replace(\n        `{${'input.etag'}}`,\n        encodeURIComponent(String(inputEtag))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update a specific comment by its etag\n     * @param {string} inputEtag Identifier for the comment.\n     * @param {DataForTheCommentToUpdate1} input\n     * @param {Array<string>} [fields] Fields to include in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateComment2: async (\n      inputEtag: string,\n      input: DataForTheCommentToUpdate1,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'inputEtag' is not null or undefined\n      if (inputEtag === null || inputEtag === undefined) {\n        throw new RequiredError(\n          'inputEtag',\n          'Required parameter inputEtag was null or undefined when calling updateComment2.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateComment2.'\n        )\n      }\n      const localVarPath = `/cases/comments/{input.etag}`.replace(\n        `{${'input.etag'}}`,\n        encodeURIComponent(String(inputEtag))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * CaseCommentsApi - functional programming interface\n * @export\n */\nexport const CaseCommentsApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Delete a specific comment by its etag\n     * @param {string} etag Identifier of the comment to delete.\n     * @param {Array<string>} [fields] Fields to return after deletion.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteComment(\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesCaseComment>\n    > {\n      const localVarAxiosArgs = await CaseCommentsApiAxiosParamCreator(\n        configuration\n      ).deleteComment(etag, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Retrieve a list of comments associated with a specific case\n     * @param {string} caseEtag Etag or ID of the case for which comments are requested.\n     * @param {number} [page] Page number for pagination.\n     * @param {number} [size] Number of comments per page.\n     * @param {string} [q] Query string for search.\n     * @param {Array<string>} [ids] Array of requested id.\n     * @param {string} [sort] Sorting order.\n     * @param {Array<string>} [fields] Fields to return for each comment.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async listComments(\n      caseEtag: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      ids?: Array<string>,\n      sort?: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesCaseCommentList>\n    > {\n      const localVarAxiosArgs = await CaseCommentsApiAxiosParamCreator(\n        configuration\n      ).listComments(caseEtag, page, size, q, ids, sort, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Retrieve a specific comment by its etag\n     * @param {string} etag Identifier of the comment to retrieve.\n     * @param {Array<string>} [fields] Specific fields to return for the comment.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async locateComment(\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesCaseComment>\n    > {\n      const localVarAxiosArgs = await CaseCommentsApiAxiosParamCreator(\n        configuration\n      ).locateComment(etag, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Publish comment into a specific case\n     * @param {string} caseEtag Etag or ID of the case to which comments belong.\n     * @param {WebitelCasesInputCaseComment} input Comment to publish.\n     * @param {Array<string>} [fields] Result fields to include in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async publishComment(\n      caseEtag: string,\n      input: WebitelCasesInputCaseComment,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesCaseComment>\n    > {\n      const localVarAxiosArgs = await CaseCommentsApiAxiosParamCreator(\n        configuration\n      ).publishComment(caseEtag, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update a specific comment by its etag\n     * @param {string} inputEtag Identifier for the comment.\n     * @param {DataForTheCommentToUpdate} input\n     * @param {Array<string>} [fields] Fields to include in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateComment(\n      inputEtag: string,\n      input: DataForTheCommentToUpdate,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesCaseComment>\n    > {\n      const localVarAxiosArgs = await CaseCommentsApiAxiosParamCreator(\n        configuration\n      ).updateComment(inputEtag, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update a specific comment by its etag\n     * @param {string} inputEtag Identifier for the comment.\n     * @param {DataForTheCommentToUpdate1} input\n     * @param {Array<string>} [fields] Fields to include in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateComment2(\n      inputEtag: string,\n      input: DataForTheCommentToUpdate1,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesCaseComment>\n    > {\n      const localVarAxiosArgs = await CaseCommentsApiAxiosParamCreator(\n        configuration\n      ).updateComment2(inputEtag, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * CaseCommentsApi - factory interface\n * @export\n */\nexport const CaseCommentsApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Delete a specific comment by its etag\n     * @param {string} etag Identifier of the comment to delete.\n     * @param {Array<string>} [fields] Fields to return after deletion.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteComment(\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesCaseComment> {\n      return CaseCommentsApiFp(configuration)\n        .deleteComment(etag, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Retrieve a list of comments associated with a specific case\n     * @param {string} caseEtag Etag or ID of the case for which comments are requested.\n     * @param {number} [page] Page number for pagination.\n     * @param {number} [size] Number of comments per page.\n     * @param {string} [q] Query string for search.\n     * @param {Array<string>} [ids] Array of requested id.\n     * @param {string} [sort] Sorting order.\n     * @param {Array<string>} [fields] Fields to return for each comment.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listComments(\n      caseEtag: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      ids?: Array<string>,\n      sort?: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesCaseCommentList> {\n      return CaseCommentsApiFp(configuration)\n        .listComments(caseEtag, page, size, q, ids, sort, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Retrieve a specific comment by its etag\n     * @param {string} etag Identifier of the comment to retrieve.\n     * @param {Array<string>} [fields] Specific fields to return for the comment.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateComment(\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesCaseComment> {\n      return CaseCommentsApiFp(configuration)\n        .locateComment(etag, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Publish comment into a specific case\n     * @param {string} caseEtag Etag or ID of the case to which comments belong.\n     * @param {WebitelCasesInputCaseComment} input Comment to publish.\n     * @param {Array<string>} [fields] Result fields to include in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    publishComment(\n      caseEtag: string,\n      input: WebitelCasesInputCaseComment,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesCaseComment> {\n      return CaseCommentsApiFp(configuration)\n        .publishComment(caseEtag, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update a specific comment by its etag\n     * @param {string} inputEtag Identifier for the comment.\n     * @param {DataForTheCommentToUpdate} input\n     * @param {Array<string>} [fields] Fields to include in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateComment(\n      inputEtag: string,\n      input: DataForTheCommentToUpdate,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesCaseComment> {\n      return CaseCommentsApiFp(configuration)\n        .updateComment(inputEtag, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update a specific comment by its etag\n     * @param {string} inputEtag Identifier for the comment.\n     * @param {DataForTheCommentToUpdate1} input\n     * @param {Array<string>} [fields] Fields to include in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateComment2(\n      inputEtag: string,\n      input: DataForTheCommentToUpdate1,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesCaseComment> {\n      return CaseCommentsApiFp(configuration)\n        .updateComment2(inputEtag, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * CaseCommentsApi - object-oriented interface\n * @export\n * @class CaseCommentsApi\n * @extends {BaseAPI}\n */\nexport class CaseCommentsApi extends BaseAPI {\n  /**\n   *\n   * @summary Delete a specific comment by its etag\n   * @param {string} etag Identifier of the comment to delete.\n   * @param {Array<string>} [fields] Fields to return after deletion.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CaseCommentsApi\n   */\n  public deleteComment(etag: string, fields?: Array<string>, options?: any) {\n    return CaseCommentsApiFp(this.configuration)\n      .deleteComment(etag, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Retrieve a list of comments associated with a specific case\n   * @param {string} caseEtag Etag or ID of the case for which comments are requested.\n   * @param {number} [page] Page number for pagination.\n   * @param {number} [size] Number of comments per page.\n   * @param {string} [q] Query string for search.\n   * @param {Array<string>} [ids] Array of requested id.\n   * @param {string} [sort] Sorting order.\n   * @param {Array<string>} [fields] Fields to return for each comment.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CaseCommentsApi\n   */\n  public listComments(\n    caseEtag: string,\n    page?: number,\n    size?: number,\n    q?: string,\n    ids?: Array<string>,\n    sort?: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return CaseCommentsApiFp(this.configuration)\n      .listComments(caseEtag, page, size, q, ids, sort, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Retrieve a specific comment by its etag\n   * @param {string} etag Identifier of the comment to retrieve.\n   * @param {Array<string>} [fields] Specific fields to return for the comment.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CaseCommentsApi\n   */\n  public locateComment(etag: string, fields?: Array<string>, options?: any) {\n    return CaseCommentsApiFp(this.configuration)\n      .locateComment(etag, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Publish comment into a specific case\n   * @param {string} caseEtag Etag or ID of the case to which comments belong.\n   * @param {WebitelCasesInputCaseComment} input Comment to publish.\n   * @param {Array<string>} [fields] Result fields to include in the response.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CaseCommentsApi\n   */\n  public publishComment(\n    caseEtag: string,\n    input: WebitelCasesInputCaseComment,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return CaseCommentsApiFp(this.configuration)\n      .publishComment(caseEtag, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update a specific comment by its etag\n   * @param {string} inputEtag Identifier for the comment.\n   * @param {DataForTheCommentToUpdate} input\n   * @param {Array<string>} [fields] Fields to include in the response.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CaseCommentsApi\n   */\n  public updateComment(\n    inputEtag: string,\n    input: DataForTheCommentToUpdate,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return CaseCommentsApiFp(this.configuration)\n      .updateComment(inputEtag, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update a specific comment by its etag\n   * @param {string} inputEtag Identifier for the comment.\n   * @param {DataForTheCommentToUpdate1} input\n   * @param {Array<string>} [fields] Fields to include in the response.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CaseCommentsApi\n   */\n  public updateComment2(\n    inputEtag: string,\n    input: DataForTheCommentToUpdate1,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return CaseCommentsApiFp(this.configuration)\n      .updateComment2(inputEtag, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n// @ts-ignore\nimport { WebitelCasesInputCaseCommunication } from '../api'\n// @ts-ignore\nimport { WebitelCasesLinkCommunicationResponse } from '../api'\n// @ts-ignore\nimport { WebitelCasesListCommunicationsResponse } from '../api'\n// @ts-ignore\nimport { WebitelCasesUnlinkCommunicationResponse } from '../api'\n/**\n * CaseCommunicationsApi - axios parameter creator\n * @export\n */\nexport const CaseCommunicationsApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Links a communication to a specific case.\n     * @param {string} caseEtag Case identifier.\n     * @param {WebitelCasesInputCaseCommunication} input Input data for the communications to link.\n     * @param {Array<string>} [fields] List of fields to include in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    linkCommunication: async (\n      caseEtag: string,\n      input: WebitelCasesInputCaseCommunication,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'caseEtag' is not null or undefined\n      if (caseEtag === null || caseEtag === undefined) {\n        throw new RequiredError(\n          'caseEtag',\n          'Required parameter caseEtag was null or undefined when calling linkCommunication.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling linkCommunication.'\n        )\n      }\n      const localVarPath = `/cases/{case_etag}/communication`.replace(\n        `{${'case_etag'}}`,\n        encodeURIComponent(String(caseEtag))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Lists all communications linked to a specific case. Currently a feature for future development.\n     * @param {string} caseEtag Case identifier.\n     * @param {Array<string>} [fields] List of fields to include in the response.\n     * @param {string} [q] Query string for filtering results.\n     * @param {number} [size] Number of records per page.\n     * @param {number} [page] Page number for pagination.\n     * @param {string} [sort] Sorting order.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listCommunications: async (\n      caseEtag: string,\n      fields?: Array<string>,\n      q?: string,\n      size?: number,\n      page?: number,\n      sort?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'caseEtag' is not null or undefined\n      if (caseEtag === null || caseEtag === undefined) {\n        throw new RequiredError(\n          'caseEtag',\n          'Required parameter caseEtag was null or undefined when calling listCommunications.'\n        )\n      }\n      const localVarPath = `/cases/{case_etag}/communication`.replace(\n        `{${'case_etag'}}`,\n        encodeURIComponent(String(caseEtag))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Unlinks a communication from a specific case.\n     * @param {string} caseEtag\n     * @param {string} id Communication identifier.\n     * @param {Array<string>} [fields] List of fields to include in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    unlinkCommunication: async (\n      caseEtag: string,\n      id: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'caseEtag' is not null or undefined\n      if (caseEtag === null || caseEtag === undefined) {\n        throw new RequiredError(\n          'caseEtag',\n          'Required parameter caseEtag was null or undefined when calling unlinkCommunication.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling unlinkCommunication.'\n        )\n      }\n      const localVarPath = `/cases/{case_etag}/communication/{id}`\n        .replace(`{${'case_etag'}}`, encodeURIComponent(String(caseEtag)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * CaseCommunicationsApi - functional programming interface\n * @export\n */\nexport const CaseCommunicationsApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Links a communication to a specific case.\n     * @param {string} caseEtag Case identifier.\n     * @param {WebitelCasesInputCaseCommunication} input Input data for the communications to link.\n     * @param {Array<string>} [fields] List of fields to include in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async linkCommunication(\n      caseEtag: string,\n      input: WebitelCasesInputCaseCommunication,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesLinkCommunicationResponse>\n    > {\n      const localVarAxiosArgs = await CaseCommunicationsApiAxiosParamCreator(\n        configuration\n      ).linkCommunication(caseEtag, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Lists all communications linked to a specific case. Currently a feature for future development.\n     * @param {string} caseEtag Case identifier.\n     * @param {Array<string>} [fields] List of fields to include in the response.\n     * @param {string} [q] Query string for filtering results.\n     * @param {number} [size] Number of records per page.\n     * @param {number} [page] Page number for pagination.\n     * @param {string} [sort] Sorting order.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async listCommunications(\n      caseEtag: string,\n      fields?: Array<string>,\n      q?: string,\n      size?: number,\n      page?: number,\n      sort?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesListCommunicationsResponse>\n    > {\n      const localVarAxiosArgs = await CaseCommunicationsApiAxiosParamCreator(\n        configuration\n      ).listCommunications(caseEtag, fields, q, size, page, sort, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Unlinks a communication from a specific case.\n     * @param {string} caseEtag\n     * @param {string} id Communication identifier.\n     * @param {Array<string>} [fields] List of fields to include in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async unlinkCommunication(\n      caseEtag: string,\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesUnlinkCommunicationResponse>\n    > {\n      const localVarAxiosArgs = await CaseCommunicationsApiAxiosParamCreator(\n        configuration\n      ).unlinkCommunication(caseEtag, id, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * CaseCommunicationsApi - factory interface\n * @export\n */\nexport const CaseCommunicationsApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Links a communication to a specific case.\n     * @param {string} caseEtag Case identifier.\n     * @param {WebitelCasesInputCaseCommunication} input Input data for the communications to link.\n     * @param {Array<string>} [fields] List of fields to include in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    linkCommunication(\n      caseEtag: string,\n      input: WebitelCasesInputCaseCommunication,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesLinkCommunicationResponse> {\n      return CaseCommunicationsApiFp(configuration)\n        .linkCommunication(caseEtag, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Lists all communications linked to a specific case. Currently a feature for future development.\n     * @param {string} caseEtag Case identifier.\n     * @param {Array<string>} [fields] List of fields to include in the response.\n     * @param {string} [q] Query string for filtering results.\n     * @param {number} [size] Number of records per page.\n     * @param {number} [page] Page number for pagination.\n     * @param {string} [sort] Sorting order.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listCommunications(\n      caseEtag: string,\n      fields?: Array<string>,\n      q?: string,\n      size?: number,\n      page?: number,\n      sort?: string,\n      options?: any\n    ): AxiosPromise<WebitelCasesListCommunicationsResponse> {\n      return CaseCommunicationsApiFp(configuration)\n        .listCommunications(caseEtag, fields, q, size, page, sort, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Unlinks a communication from a specific case.\n     * @param {string} caseEtag\n     * @param {string} id Communication identifier.\n     * @param {Array<string>} [fields] List of fields to include in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    unlinkCommunication(\n      caseEtag: string,\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesUnlinkCommunicationResponse> {\n      return CaseCommunicationsApiFp(configuration)\n        .unlinkCommunication(caseEtag, id, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * CaseCommunicationsApi - object-oriented interface\n * @export\n * @class CaseCommunicationsApi\n * @extends {BaseAPI}\n */\nexport class CaseCommunicationsApi extends BaseAPI {\n  /**\n   *\n   * @summary Links a communication to a specific case.\n   * @param {string} caseEtag Case identifier.\n   * @param {WebitelCasesInputCaseCommunication} input Input data for the communications to link.\n   * @param {Array<string>} [fields] List of fields to include in the response.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CaseCommunicationsApi\n   */\n  public linkCommunication(\n    caseEtag: string,\n    input: WebitelCasesInputCaseCommunication,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return CaseCommunicationsApiFp(this.configuration)\n      .linkCommunication(caseEtag, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Lists all communications linked to a specific case. Currently a feature for future development.\n   * @param {string} caseEtag Case identifier.\n   * @param {Array<string>} [fields] List of fields to include in the response.\n   * @param {string} [q] Query string for filtering results.\n   * @param {number} [size] Number of records per page.\n   * @param {number} [page] Page number for pagination.\n   * @param {string} [sort] Sorting order.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CaseCommunicationsApi\n   */\n  public listCommunications(\n    caseEtag: string,\n    fields?: Array<string>,\n    q?: string,\n    size?: number,\n    page?: number,\n    sort?: string,\n    options?: any\n  ) {\n    return CaseCommunicationsApiFp(this.configuration)\n      .listCommunications(caseEtag, fields, q, size, page, sort, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Unlinks a communication from a specific case.\n   * @param {string} caseEtag\n   * @param {string} id Communication identifier.\n   * @param {Array<string>} [fields] List of fields to include in the response.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CaseCommunicationsApi\n   */\n  public unlinkCommunication(\n    caseEtag: string,\n    id: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return CaseCommunicationsApiFp(this.configuration)\n      .unlinkCommunication(caseEtag, id, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n// @ts-ignore\nimport { WebitelCasesCaseFileList } from '../api'\n// @ts-ignore\nimport { WebitelCasesFile } from '../api'\n/**\n * CaseFilesApi - axios parameter creator\n * @export\n */\nexport const CaseFilesApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Delete a file\n     * @param {string} caseEtag\n     * @param {string} id The unique ID of the file to delete.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteFile: async (\n      caseEtag: string,\n      id: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'caseEtag' is not null or undefined\n      if (caseEtag === null || caseEtag === undefined) {\n        throw new RequiredError(\n          'caseEtag',\n          'Required parameter caseEtag was null or undefined when calling deleteFile.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteFile.'\n        )\n      }\n      const localVarPath = `/cases/{case_etag}/files/{id}`\n        .replace(`{${'case_etag'}}`, encodeURIComponent(String(caseEtag)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Retrieve a list of files associated with a case\n     * @param {string} caseEtag ID of the case to fetch files for (required).\n     * @param {number} [page] The page number to retrieve.\n     * @param {number} [size] Number of items per page.\n     * @param {string} [q] Search term.\n     * @param {Array<string>} [fields] Fields to include in the response.\n     * @param {Array<string>} [ids] Array of requested id.\n     * @param {string} [sort] Sorting\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listFiles: async (\n      caseEtag: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      fields?: Array<string>,\n      ids?: Array<string>,\n      sort?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'caseEtag' is not null or undefined\n      if (caseEtag === null || caseEtag === undefined) {\n        throw new RequiredError(\n          'caseEtag',\n          'Required parameter caseEtag was null or undefined when calling listFiles.'\n        )\n      }\n      const localVarPath = `/cases/{case_etag}/files`.replace(\n        `{${'case_etag'}}`,\n        encodeURIComponent(String(caseEtag))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (ids) {\n        localVarQueryParameter['ids'] = ids\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * CaseFilesApi - functional programming interface\n * @export\n */\nexport const CaseFilesApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Delete a file\n     * @param {string} caseEtag\n     * @param {string} id The unique ID of the file to delete.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteFile(\n      caseEtag: string,\n      id: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesFile>\n    > {\n      const localVarAxiosArgs = await CaseFilesApiAxiosParamCreator(\n        configuration\n      ).deleteFile(caseEtag, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Retrieve a list of files associated with a case\n     * @param {string} caseEtag ID of the case to fetch files for (required).\n     * @param {number} [page] The page number to retrieve.\n     * @param {number} [size] Number of items per page.\n     * @param {string} [q] Search term.\n     * @param {Array<string>} [fields] Fields to include in the response.\n     * @param {Array<string>} [ids] Array of requested id.\n     * @param {string} [sort] Sorting\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async listFiles(\n      caseEtag: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      fields?: Array<string>,\n      ids?: Array<string>,\n      sort?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesCaseFileList>\n    > {\n      const localVarAxiosArgs = await CaseFilesApiAxiosParamCreator(\n        configuration\n      ).listFiles(caseEtag, page, size, q, fields, ids, sort, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * CaseFilesApi - factory interface\n * @export\n */\nexport const CaseFilesApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Delete a file\n     * @param {string} caseEtag\n     * @param {string} id The unique ID of the file to delete.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteFile(\n      caseEtag: string,\n      id: string,\n      options?: any\n    ): AxiosPromise<WebitelCasesFile> {\n      return CaseFilesApiFp(configuration)\n        .deleteFile(caseEtag, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Retrieve a list of files associated with a case\n     * @param {string} caseEtag ID of the case to fetch files for (required).\n     * @param {number} [page] The page number to retrieve.\n     * @param {number} [size] Number of items per page.\n     * @param {string} [q] Search term.\n     * @param {Array<string>} [fields] Fields to include in the response.\n     * @param {Array<string>} [ids] Array of requested id.\n     * @param {string} [sort] Sorting\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listFiles(\n      caseEtag: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      fields?: Array<string>,\n      ids?: Array<string>,\n      sort?: string,\n      options?: any\n    ): AxiosPromise<WebitelCasesCaseFileList> {\n      return CaseFilesApiFp(configuration)\n        .listFiles(caseEtag, page, size, q, fields, ids, sort, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * CaseFilesApi - object-oriented interface\n * @export\n * @class CaseFilesApi\n * @extends {BaseAPI}\n */\nexport class CaseFilesApi extends BaseAPI {\n  /**\n   *\n   * @summary Delete a file\n   * @param {string} caseEtag\n   * @param {string} id The unique ID of the file to delete.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CaseFilesApi\n   */\n  public deleteFile(caseEtag: string, id: string, options?: any) {\n    return CaseFilesApiFp(this.configuration)\n      .deleteFile(caseEtag, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Retrieve a list of files associated with a case\n   * @param {string} caseEtag ID of the case to fetch files for (required).\n   * @param {number} [page] The page number to retrieve.\n   * @param {number} [size] Number of items per page.\n   * @param {string} [q] Search term.\n   * @param {Array<string>} [fields] Fields to include in the response.\n   * @param {Array<string>} [ids] Array of requested id.\n   * @param {string} [sort] Sorting\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CaseFilesApi\n   */\n  public listFiles(\n    caseEtag: string,\n    page?: number,\n    size?: number,\n    q?: string,\n    fields?: Array<string>,\n    ids?: Array<string>,\n    sort?: string,\n    options?: any\n  ) {\n    return CaseFilesApiFp(this.configuration)\n      .listFiles(caseEtag, page, size, q, fields, ids, sort, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n// @ts-ignore\nimport { InlineObject } from '../api'\n// @ts-ignore\nimport { InlineObject1 } from '../api'\n// @ts-ignore\nimport { WebitelCasesCaseLink } from '../api'\n// @ts-ignore\nimport { WebitelCasesCaseLinkList } from '../api'\n/**\n * CaseLinksApi - axios parameter creator\n * @export\n */\nexport const CaseLinksApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {string} caseEtag new comment link\n     * @param {Array<string>} [fields] result fields needed on the front-end for each comment\n     * @param {string} [inputEtag]\n     * @param {string} [inputUrl]\n     * @param {string} [inputName]\n     * @param {string} [inputUserIDId]\n     * @param {string} [inputUserIDName]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createLink: async (\n      caseEtag: string,\n      fields?: Array<string>,\n      inputEtag?: string,\n      inputUrl?: string,\n      inputName?: string,\n      inputUserIDId?: string,\n      inputUserIDName?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'caseEtag' is not null or undefined\n      if (caseEtag === null || caseEtag === undefined) {\n        throw new RequiredError(\n          'caseEtag',\n          'Required parameter caseEtag was null or undefined when calling createLink.'\n        )\n      }\n      const localVarPath = `/cases/{case_etag}/links`.replace(\n        `{${'case_etag'}}`,\n        encodeURIComponent(String(caseEtag))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (inputEtag !== undefined) {\n        localVarQueryParameter['input.etag'] = inputEtag\n      }\n\n      if (inputUrl !== undefined) {\n        localVarQueryParameter['input.url'] = inputUrl\n      }\n\n      if (inputName !== undefined) {\n        localVarQueryParameter['input.name'] = inputName\n      }\n\n      if (inputUserIDId !== undefined) {\n        localVarQueryParameter['input.userID.id'] = inputUserIDId\n      }\n\n      if (inputUserIDName !== undefined) {\n        localVarQueryParameter['input.userID.name'] = inputUserIDName\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} caseEtag\n     * @param {string} etag\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteLink: async (\n      caseEtag: string,\n      etag: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'caseEtag' is not null or undefined\n      if (caseEtag === null || caseEtag === undefined) {\n        throw new RequiredError(\n          'caseEtag',\n          'Required parameter caseEtag was null or undefined when calling deleteLink.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling deleteLink.'\n        )\n      }\n      const localVarPath = `/cases/{case_etag}/links/{etag}`\n        .replace(`{${'case_etag'}}`, encodeURIComponent(String(caseEtag)))\n        .replace(`{${'etag'}}`, encodeURIComponent(String(etag)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary With Case\n     * @param {string} caseEtag\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {Array<string>} [ids]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listLinks: async (\n      caseEtag: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      ids?: Array<string>,\n      sort?: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'caseEtag' is not null or undefined\n      if (caseEtag === null || caseEtag === undefined) {\n        throw new RequiredError(\n          'caseEtag',\n          'Required parameter caseEtag was null or undefined when calling listLinks.'\n        )\n      }\n      const localVarPath = `/cases/{case_etag}/links`.replace(\n        `{${'case_etag'}}`,\n        encodeURIComponent(String(caseEtag))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (ids) {\n        localVarQueryParameter['ids'] = ids\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} caseEtag\n     * @param {string} etag (id allowed)\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateLink: async (\n      caseEtag: string,\n      etag: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'caseEtag' is not null or undefined\n      if (caseEtag === null || caseEtag === undefined) {\n        throw new RequiredError(\n          'caseEtag',\n          'Required parameter caseEtag was null or undefined when calling locateLink.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling locateLink.'\n        )\n      }\n      const localVarPath = `/cases/{case_etag}/links/{etag}`\n        .replace(`{${'case_etag'}}`, encodeURIComponent(String(caseEtag)))\n        .replace(`{${'etag'}}`, encodeURIComponent(String(etag)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} caseEtag\n     * @param {string} inputEtag\n     * @param {InlineObject} input\n     * @param {Array<string>} [fields] on return\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateLink: async (\n      caseEtag: string,\n      inputEtag: string,\n      input: InlineObject,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'caseEtag' is not null or undefined\n      if (caseEtag === null || caseEtag === undefined) {\n        throw new RequiredError(\n          'caseEtag',\n          'Required parameter caseEtag was null or undefined when calling updateLink.'\n        )\n      }\n      // verify required parameter 'inputEtag' is not null or undefined\n      if (inputEtag === null || inputEtag === undefined) {\n        throw new RequiredError(\n          'inputEtag',\n          'Required parameter inputEtag was null or undefined when calling updateLink.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateLink.'\n        )\n      }\n      const localVarPath = `/cases/{case_etag}/links/{input.etag}`\n        .replace(`{${'case_etag'}}`, encodeURIComponent(String(caseEtag)))\n        .replace(`{${'input.etag'}}`, encodeURIComponent(String(inputEtag)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} caseEtag\n     * @param {string} inputEtag\n     * @param {InlineObject1} input\n     * @param {Array<string>} [fields] on return\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateLink2: async (\n      caseEtag: string,\n      inputEtag: string,\n      input: InlineObject1,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'caseEtag' is not null or undefined\n      if (caseEtag === null || caseEtag === undefined) {\n        throw new RequiredError(\n          'caseEtag',\n          'Required parameter caseEtag was null or undefined when calling updateLink2.'\n        )\n      }\n      // verify required parameter 'inputEtag' is not null or undefined\n      if (inputEtag === null || inputEtag === undefined) {\n        throw new RequiredError(\n          'inputEtag',\n          'Required parameter inputEtag was null or undefined when calling updateLink2.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateLink2.'\n        )\n      }\n      const localVarPath = `/cases/{case_etag}/links/{input.etag}`\n        .replace(`{${'case_etag'}}`, encodeURIComponent(String(caseEtag)))\n        .replace(`{${'input.etag'}}`, encodeURIComponent(String(inputEtag)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * CaseLinksApi - functional programming interface\n * @export\n */\nexport const CaseLinksApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @param {string} caseEtag new comment link\n     * @param {Array<string>} [fields] result fields needed on the front-end for each comment\n     * @param {string} [inputEtag]\n     * @param {string} [inputUrl]\n     * @param {string} [inputName]\n     * @param {string} [inputUserIDId]\n     * @param {string} [inputUserIDName]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createLink(\n      caseEtag: string,\n      fields?: Array<string>,\n      inputEtag?: string,\n      inputUrl?: string,\n      inputName?: string,\n      inputUserIDId?: string,\n      inputUserIDName?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesCaseLink>\n    > {\n      const localVarAxiosArgs = await CaseLinksApiAxiosParamCreator(\n        configuration\n      ).createLink(\n        caseEtag,\n        fields,\n        inputEtag,\n        inputUrl,\n        inputName,\n        inputUserIDId,\n        inputUserIDName,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} caseEtag\n     * @param {string} etag\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteLink(\n      caseEtag: string,\n      etag: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesCaseLink>\n    > {\n      const localVarAxiosArgs = await CaseLinksApiAxiosParamCreator(\n        configuration\n      ).deleteLink(caseEtag, etag, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary With Case\n     * @param {string} caseEtag\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {Array<string>} [ids]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async listLinks(\n      caseEtag: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      ids?: Array<string>,\n      sort?: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesCaseLinkList>\n    > {\n      const localVarAxiosArgs = await CaseLinksApiAxiosParamCreator(\n        configuration\n      ).listLinks(caseEtag, page, size, q, ids, sort, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} caseEtag\n     * @param {string} etag (id allowed)\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async locateLink(\n      caseEtag: string,\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesCaseLink>\n    > {\n      const localVarAxiosArgs = await CaseLinksApiAxiosParamCreator(\n        configuration\n      ).locateLink(caseEtag, etag, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} caseEtag\n     * @param {string} inputEtag\n     * @param {InlineObject} input\n     * @param {Array<string>} [fields] on return\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateLink(\n      caseEtag: string,\n      inputEtag: string,\n      input: InlineObject,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesCaseLink>\n    > {\n      const localVarAxiosArgs = await CaseLinksApiAxiosParamCreator(\n        configuration\n      ).updateLink(caseEtag, inputEtag, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} caseEtag\n     * @param {string} inputEtag\n     * @param {InlineObject1} input\n     * @param {Array<string>} [fields] on return\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateLink2(\n      caseEtag: string,\n      inputEtag: string,\n      input: InlineObject1,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesCaseLink>\n    > {\n      const localVarAxiosArgs = await CaseLinksApiAxiosParamCreator(\n        configuration\n      ).updateLink2(caseEtag, inputEtag, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * CaseLinksApi - factory interface\n * @export\n */\nexport const CaseLinksApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {string} caseEtag new comment link\n     * @param {Array<string>} [fields] result fields needed on the front-end for each comment\n     * @param {string} [inputEtag]\n     * @param {string} [inputUrl]\n     * @param {string} [inputName]\n     * @param {string} [inputUserIDId]\n     * @param {string} [inputUserIDName]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createLink(\n      caseEtag: string,\n      fields?: Array<string>,\n      inputEtag?: string,\n      inputUrl?: string,\n      inputName?: string,\n      inputUserIDId?: string,\n      inputUserIDName?: string,\n      options?: any\n    ): AxiosPromise<WebitelCasesCaseLink> {\n      return CaseLinksApiFp(configuration)\n        .createLink(\n          caseEtag,\n          fields,\n          inputEtag,\n          inputUrl,\n          inputName,\n          inputUserIDId,\n          inputUserIDName,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} caseEtag\n     * @param {string} etag\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteLink(\n      caseEtag: string,\n      etag: string,\n      options?: any\n    ): AxiosPromise<WebitelCasesCaseLink> {\n      return CaseLinksApiFp(configuration)\n        .deleteLink(caseEtag, etag, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary With Case\n     * @param {string} caseEtag\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {Array<string>} [ids]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listLinks(\n      caseEtag: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      ids?: Array<string>,\n      sort?: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesCaseLinkList> {\n      return CaseLinksApiFp(configuration)\n        .listLinks(caseEtag, page, size, q, ids, sort, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} caseEtag\n     * @param {string} etag (id allowed)\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateLink(\n      caseEtag: string,\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesCaseLink> {\n      return CaseLinksApiFp(configuration)\n        .locateLink(caseEtag, etag, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} caseEtag\n     * @param {string} inputEtag\n     * @param {InlineObject} input\n     * @param {Array<string>} [fields] on return\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateLink(\n      caseEtag: string,\n      inputEtag: string,\n      input: InlineObject,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesCaseLink> {\n      return CaseLinksApiFp(configuration)\n        .updateLink(caseEtag, inputEtag, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} caseEtag\n     * @param {string} inputEtag\n     * @param {InlineObject1} input\n     * @param {Array<string>} [fields] on return\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateLink2(\n      caseEtag: string,\n      inputEtag: string,\n      input: InlineObject1,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesCaseLink> {\n      return CaseLinksApiFp(configuration)\n        .updateLink2(caseEtag, inputEtag, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * CaseLinksApi - object-oriented interface\n * @export\n * @class CaseLinksApi\n * @extends {BaseAPI}\n */\nexport class CaseLinksApi extends BaseAPI {\n  /**\n   *\n   * @param {string} caseEtag new comment link\n   * @param {Array<string>} [fields] result fields needed on the front-end for each comment\n   * @param {string} [inputEtag]\n   * @param {string} [inputUrl]\n   * @param {string} [inputName]\n   * @param {string} [inputUserIDId]\n   * @param {string} [inputUserIDName]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CaseLinksApi\n   */\n  public createLink(\n    caseEtag: string,\n    fields?: Array<string>,\n    inputEtag?: string,\n    inputUrl?: string,\n    inputName?: string,\n    inputUserIDId?: string,\n    inputUserIDName?: string,\n    options?: any\n  ) {\n    return CaseLinksApiFp(this.configuration)\n      .createLink(\n        caseEtag,\n        fields,\n        inputEtag,\n        inputUrl,\n        inputName,\n        inputUserIDId,\n        inputUserIDName,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} caseEtag\n   * @param {string} etag\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CaseLinksApi\n   */\n  public deleteLink(caseEtag: string, etag: string, options?: any) {\n    return CaseLinksApiFp(this.configuration)\n      .deleteLink(caseEtag, etag, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary With Case\n   * @param {string} caseEtag\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {Array<string>} [ids]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CaseLinksApi\n   */\n  public listLinks(\n    caseEtag: string,\n    page?: number,\n    size?: number,\n    q?: string,\n    ids?: Array<string>,\n    sort?: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return CaseLinksApiFp(this.configuration)\n      .listLinks(caseEtag, page, size, q, ids, sort, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} caseEtag\n   * @param {string} etag (id allowed)\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CaseLinksApi\n   */\n  public locateLink(\n    caseEtag: string,\n    etag: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return CaseLinksApiFp(this.configuration)\n      .locateLink(caseEtag, etag, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} caseEtag\n   * @param {string} inputEtag\n   * @param {InlineObject} input\n   * @param {Array<string>} [fields] on return\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CaseLinksApi\n   */\n  public updateLink(\n    caseEtag: string,\n    inputEtag: string,\n    input: InlineObject,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return CaseLinksApiFp(this.configuration)\n      .updateLink(caseEtag, inputEtag, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} caseEtag\n   * @param {string} inputEtag\n   * @param {InlineObject1} input\n   * @param {Array<string>} [fields] on return\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CaseLinksApi\n   */\n  public updateLink2(\n    caseEtag: string,\n    inputEtag: string,\n    input: InlineObject1,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return CaseLinksApiFp(this.configuration)\n      .updateLink2(caseEtag, inputEtag, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n// @ts-ignore\nimport { WebitelCasesGetTimelineCounterResponse } from '../api'\n// @ts-ignore\nimport { WebitelCasesGetTimelineResponse } from '../api'\n/**\n * CaseTimelineApi - axios parameter creator\n * @export\n */\nexport const CaseTimelineApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {string} caseId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [ids]\n     * @param {string} [dateFrom]\n     * @param {string} [dateTo]\n     * @param {Array<'chat' | 'call' | 'email'>} [type]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getTimeline: async (\n      caseId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      ids?: Array<string>,\n      dateFrom?: string,\n      dateTo?: string,\n      type?: Array<'chat' | 'call' | 'email'>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'caseId' is not null or undefined\n      if (caseId === null || caseId === undefined) {\n        throw new RequiredError(\n          'caseId',\n          'Required parameter caseId was null or undefined when calling getTimeline.'\n        )\n      }\n      const localVarPath = `/cases/{case_id}/timeline`.replace(\n        `{${'case_id'}}`,\n        encodeURIComponent(String(caseId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (ids) {\n        localVarQueryParameter['ids'] = ids\n      }\n\n      if (dateFrom !== undefined) {\n        localVarQueryParameter['date_from'] = dateFrom\n      }\n\n      if (dateTo !== undefined) {\n        localVarQueryParameter['date_to'] = dateTo\n      }\n\n      if (type) {\n        localVarQueryParameter['type'] = type\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} caseId\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getTimelineCounter: async (\n      caseId: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'caseId' is not null or undefined\n      if (caseId === null || caseId === undefined) {\n        throw new RequiredError(\n          'caseId',\n          'Required parameter caseId was null or undefined when calling getTimelineCounter.'\n        )\n      }\n      const localVarPath = `/cases/{case_id}/timeline/counter`.replace(\n        `{${'case_id'}}`,\n        encodeURIComponent(String(caseId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * CaseTimelineApi - functional programming interface\n * @export\n */\nexport const CaseTimelineApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @param {string} caseId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [ids]\n     * @param {string} [dateFrom]\n     * @param {string} [dateTo]\n     * @param {Array<'chat' | 'call' | 'email'>} [type]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getTimeline(\n      caseId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      ids?: Array<string>,\n      dateFrom?: string,\n      dateTo?: string,\n      type?: Array<'chat' | 'call' | 'email'>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesGetTimelineResponse>\n    > {\n      const localVarAxiosArgs = await CaseTimelineApiAxiosParamCreator(\n        configuration\n      ).getTimeline(\n        caseId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        ids,\n        dateFrom,\n        dateTo,\n        type,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} caseId\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getTimelineCounter(\n      caseId: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesGetTimelineCounterResponse>\n    > {\n      const localVarAxiosArgs = await CaseTimelineApiAxiosParamCreator(\n        configuration\n      ).getTimelineCounter(caseId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * CaseTimelineApi - factory interface\n * @export\n */\nexport const CaseTimelineApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {string} caseId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [ids]\n     * @param {string} [dateFrom]\n     * @param {string} [dateTo]\n     * @param {Array<'chat' | 'call' | 'email'>} [type]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getTimeline(\n      caseId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      ids?: Array<string>,\n      dateFrom?: string,\n      dateTo?: string,\n      type?: Array<'chat' | 'call' | 'email'>,\n      options?: any\n    ): AxiosPromise<WebitelCasesGetTimelineResponse> {\n      return CaseTimelineApiFp(configuration)\n        .getTimeline(\n          caseId,\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          ids,\n          dateFrom,\n          dateTo,\n          type,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} caseId\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getTimelineCounter(\n      caseId: string,\n      options?: any\n    ): AxiosPromise<WebitelCasesGetTimelineCounterResponse> {\n      return CaseTimelineApiFp(configuration)\n        .getTimelineCounter(caseId, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * CaseTimelineApi - object-oriented interface\n * @export\n * @class CaseTimelineApi\n * @extends {BaseAPI}\n */\nexport class CaseTimelineApi extends BaseAPI {\n  /**\n   *\n   * @param {string} caseId\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<string>} [ids]\n   * @param {string} [dateFrom]\n   * @param {string} [dateTo]\n   * @param {Array<'chat' | 'call' | 'email'>} [type]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CaseTimelineApi\n   */\n  public getTimeline(\n    caseId: string,\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    ids?: Array<string>,\n    dateFrom?: string,\n    dateTo?: string,\n    type?: Array<'chat' | 'call' | 'email'>,\n    options?: any\n  ) {\n    return CaseTimelineApiFp(this.configuration)\n      .getTimeline(\n        caseId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        ids,\n        dateFrom,\n        dateTo,\n        type,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} caseId\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CaseTimelineApi\n   */\n  public getTimelineCounter(caseId: string, options?: any) {\n    return CaseTimelineApiFp(this.configuration)\n      .getTimelineCounter(caseId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n// @ts-ignore\nimport { InputDataWithUpdatedFields } from '../api'\n// @ts-ignore\nimport { InputDataWithUpdatedFields1 } from '../api'\n// @ts-ignore\nimport { WebitelCasesCase } from '../api'\n// @ts-ignore\nimport { WebitelCasesCaseList } from '../api'\n// @ts-ignore\nimport { WebitelCasesInputCreateCase } from '../api'\n/**\n * CasesApi - axios parameter creator\n * @export\n */\nexport const CasesApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary RPC method for creating a new case.\n     * @param {WebitelCasesInputCreateCase} input Input data for creating the case.\n     * @param {Array<string>} [fields] List of fields to include in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createCase: async (\n      input: WebitelCasesInputCreateCase,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling createCase.'\n        )\n      }\n      const localVarPath = `/cases`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary RPC method for deleting an existing case by its etag.\n     * @param {string} etag Unique etag identifier of the case.\n     * @param {Array<string>} [fields] List of fields to include in the deleted case response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteCase: async (\n      etag: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling deleteCase.'\n        )\n      }\n      const localVarPath = `/cases/{etag}`.replace(\n        `{${'etag'}}`,\n        encodeURIComponent(String(etag))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary RPC method to retrieve a specific case by its etag identifier.\n     * @param {string} etag Unique etag identifier of the case.\n     * @param {Array<string>} [fields] List of fields to include in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateCase: async (\n      etag: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling locateCase.'\n        )\n      }\n      const localVarPath = `/cases/{etag}`.replace(\n        `{${'etag'}}`,\n        encodeURIComponent(String(etag))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary RPC method for searching cases.\n     * @param {number} [page] Page number for pagination.\n     * @param {number} [size] Number of results per page.\n     * @param {string} [q] Query string for searching cases.\n     * @param {Array<string>} [ids] List of specific case IDs to retrieve.\n     * @param {string} [sort] Sorting criteria (e.g., field:asc).\n     * @param {Array<string>} [fields] List of fields to include in the response.\n     * @param {Array<string>} [filters] Key-value pairs for additional filtering.\n     * @param {string} [contactId] Contact ID for filtering cases.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchCases: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      ids?: Array<string>,\n      sort?: string,\n      fields?: Array<string>,\n      filters?: Array<string>,\n      contactId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/cases`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (ids) {\n        localVarQueryParameter['ids'] = ids\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (filters) {\n        localVarQueryParameter['filters'] = filters\n      }\n\n      if (contactId !== undefined) {\n        localVarQueryParameter['contact_id'] = contactId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary RPC method for searching cases.\n     * @param {string} contactId Contact ID for filtering cases.\n     * @param {number} [page] Page number for pagination.\n     * @param {number} [size] Number of results per page.\n     * @param {string} [q] Query string for searching cases.\n     * @param {Array<string>} [ids] List of specific case IDs to retrieve.\n     * @param {string} [sort] Sorting criteria (e.g., field:asc).\n     * @param {Array<string>} [fields] List of fields to include in the response.\n     * @param {Array<string>} [filters] Key-value pairs for additional filtering.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchCases2: async (\n      contactId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      ids?: Array<string>,\n      sort?: string,\n      fields?: Array<string>,\n      filters?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling searchCases2.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/cases`.replace(\n        `{${'contact_id'}}`,\n        encodeURIComponent(String(contactId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (ids) {\n        localVarQueryParameter['ids'] = ids\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (filters) {\n        localVarQueryParameter['filters'] = filters\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary RPC method for updating an existing case.\n     * @param {string} inputEtag\n     * @param {InputDataWithUpdatedFields} input\n     * @param {Array<string>} [xJsonMask] List of JSON fields to update.\n     * @param {Array<string>} [fields] List of fields to include in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateCase: async (\n      inputEtag: string,\n      input: InputDataWithUpdatedFields,\n      xJsonMask?: Array<string>,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'inputEtag' is not null or undefined\n      if (inputEtag === null || inputEtag === undefined) {\n        throw new RequiredError(\n          'inputEtag',\n          'Required parameter inputEtag was null or undefined when calling updateCase.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateCase.'\n        )\n      }\n      const localVarPath = `/cases/{input.etag}`.replace(\n        `{${'input.etag'}}`,\n        encodeURIComponent(String(inputEtag))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (xJsonMask) {\n        localVarQueryParameter['x_json_mask'] = xJsonMask\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary RPC method for updating an existing case.\n     * @param {string} inputEtag\n     * @param {InputDataWithUpdatedFields1} input\n     * @param {Array<string>} [xJsonMask] List of JSON fields to update.\n     * @param {Array<string>} [fields] List of fields to include in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateCase2: async (\n      inputEtag: string,\n      input: InputDataWithUpdatedFields1,\n      xJsonMask?: Array<string>,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'inputEtag' is not null or undefined\n      if (inputEtag === null || inputEtag === undefined) {\n        throw new RequiredError(\n          'inputEtag',\n          'Required parameter inputEtag was null or undefined when calling updateCase2.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateCase2.'\n        )\n      }\n      const localVarPath = `/cases/{input.etag}`.replace(\n        `{${'input.etag'}}`,\n        encodeURIComponent(String(inputEtag))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (xJsonMask) {\n        localVarQueryParameter['x_json_mask'] = xJsonMask\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * CasesApi - functional programming interface\n * @export\n */\nexport const CasesApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary RPC method for creating a new case.\n     * @param {WebitelCasesInputCreateCase} input Input data for creating the case.\n     * @param {Array<string>} [fields] List of fields to include in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createCase(\n      input: WebitelCasesInputCreateCase,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesCase>\n    > {\n      const localVarAxiosArgs = await CasesApiAxiosParamCreator(\n        configuration\n      ).createCase(input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary RPC method for deleting an existing case by its etag.\n     * @param {string} etag Unique etag identifier of the case.\n     * @param {Array<string>} [fields] List of fields to include in the deleted case response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteCase(\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesCase>\n    > {\n      const localVarAxiosArgs = await CasesApiAxiosParamCreator(\n        configuration\n      ).deleteCase(etag, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary RPC method to retrieve a specific case by its etag identifier.\n     * @param {string} etag Unique etag identifier of the case.\n     * @param {Array<string>} [fields] List of fields to include in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async locateCase(\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesCase>\n    > {\n      const localVarAxiosArgs = await CasesApiAxiosParamCreator(\n        configuration\n      ).locateCase(etag, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary RPC method for searching cases.\n     * @param {number} [page] Page number for pagination.\n     * @param {number} [size] Number of results per page.\n     * @param {string} [q] Query string for searching cases.\n     * @param {Array<string>} [ids] List of specific case IDs to retrieve.\n     * @param {string} [sort] Sorting criteria (e.g., field:asc).\n     * @param {Array<string>} [fields] List of fields to include in the response.\n     * @param {Array<string>} [filters] Key-value pairs for additional filtering.\n     * @param {string} [contactId] Contact ID for filtering cases.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchCases(\n      page?: number,\n      size?: number,\n      q?: string,\n      ids?: Array<string>,\n      sort?: string,\n      fields?: Array<string>,\n      filters?: Array<string>,\n      contactId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesCaseList>\n    > {\n      const localVarAxiosArgs = await CasesApiAxiosParamCreator(\n        configuration\n      ).searchCases(\n        page,\n        size,\n        q,\n        ids,\n        sort,\n        fields,\n        filters,\n        contactId,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary RPC method for searching cases.\n     * @param {string} contactId Contact ID for filtering cases.\n     * @param {number} [page] Page number for pagination.\n     * @param {number} [size] Number of results per page.\n     * @param {string} [q] Query string for searching cases.\n     * @param {Array<string>} [ids] List of specific case IDs to retrieve.\n     * @param {string} [sort] Sorting criteria (e.g., field:asc).\n     * @param {Array<string>} [fields] List of fields to include in the response.\n     * @param {Array<string>} [filters] Key-value pairs for additional filtering.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchCases2(\n      contactId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      ids?: Array<string>,\n      sort?: string,\n      fields?: Array<string>,\n      filters?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesCaseList>\n    > {\n      const localVarAxiosArgs = await CasesApiAxiosParamCreator(\n        configuration\n      ).searchCases2(\n        contactId,\n        page,\n        size,\n        q,\n        ids,\n        sort,\n        fields,\n        filters,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary RPC method for updating an existing case.\n     * @param {string} inputEtag\n     * @param {InputDataWithUpdatedFields} input\n     * @param {Array<string>} [xJsonMask] List of JSON fields to update.\n     * @param {Array<string>} [fields] List of fields to include in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateCase(\n      inputEtag: string,\n      input: InputDataWithUpdatedFields,\n      xJsonMask?: Array<string>,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesCase>\n    > {\n      const localVarAxiosArgs = await CasesApiAxiosParamCreator(\n        configuration\n      ).updateCase(inputEtag, input, xJsonMask, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary RPC method for updating an existing case.\n     * @param {string} inputEtag\n     * @param {InputDataWithUpdatedFields1} input\n     * @param {Array<string>} [xJsonMask] List of JSON fields to update.\n     * @param {Array<string>} [fields] List of fields to include in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateCase2(\n      inputEtag: string,\n      input: InputDataWithUpdatedFields1,\n      xJsonMask?: Array<string>,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesCase>\n    > {\n      const localVarAxiosArgs = await CasesApiAxiosParamCreator(\n        configuration\n      ).updateCase2(inputEtag, input, xJsonMask, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * CasesApi - factory interface\n * @export\n */\nexport const CasesApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary RPC method for creating a new case.\n     * @param {WebitelCasesInputCreateCase} input Input data for creating the case.\n     * @param {Array<string>} [fields] List of fields to include in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createCase(\n      input: WebitelCasesInputCreateCase,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesCase> {\n      return CasesApiFp(configuration)\n        .createCase(input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary RPC method for deleting an existing case by its etag.\n     * @param {string} etag Unique etag identifier of the case.\n     * @param {Array<string>} [fields] List of fields to include in the deleted case response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteCase(\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesCase> {\n      return CasesApiFp(configuration)\n        .deleteCase(etag, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary RPC method to retrieve a specific case by its etag identifier.\n     * @param {string} etag Unique etag identifier of the case.\n     * @param {Array<string>} [fields] List of fields to include in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateCase(\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesCase> {\n      return CasesApiFp(configuration)\n        .locateCase(etag, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary RPC method for searching cases.\n     * @param {number} [page] Page number for pagination.\n     * @param {number} [size] Number of results per page.\n     * @param {string} [q] Query string for searching cases.\n     * @param {Array<string>} [ids] List of specific case IDs to retrieve.\n     * @param {string} [sort] Sorting criteria (e.g., field:asc).\n     * @param {Array<string>} [fields] List of fields to include in the response.\n     * @param {Array<string>} [filters] Key-value pairs for additional filtering.\n     * @param {string} [contactId] Contact ID for filtering cases.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchCases(\n      page?: number,\n      size?: number,\n      q?: string,\n      ids?: Array<string>,\n      sort?: string,\n      fields?: Array<string>,\n      filters?: Array<string>,\n      contactId?: string,\n      options?: any\n    ): AxiosPromise<WebitelCasesCaseList> {\n      return CasesApiFp(configuration)\n        .searchCases(\n          page,\n          size,\n          q,\n          ids,\n          sort,\n          fields,\n          filters,\n          contactId,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary RPC method for searching cases.\n     * @param {string} contactId Contact ID for filtering cases.\n     * @param {number} [page] Page number for pagination.\n     * @param {number} [size] Number of results per page.\n     * @param {string} [q] Query string for searching cases.\n     * @param {Array<string>} [ids] List of specific case IDs to retrieve.\n     * @param {string} [sort] Sorting criteria (e.g., field:asc).\n     * @param {Array<string>} [fields] List of fields to include in the response.\n     * @param {Array<string>} [filters] Key-value pairs for additional filtering.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchCases2(\n      contactId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      ids?: Array<string>,\n      sort?: string,\n      fields?: Array<string>,\n      filters?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesCaseList> {\n      return CasesApiFp(configuration)\n        .searchCases2(\n          contactId,\n          page,\n          size,\n          q,\n          ids,\n          sort,\n          fields,\n          filters,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary RPC method for updating an existing case.\n     * @param {string} inputEtag\n     * @param {InputDataWithUpdatedFields} input\n     * @param {Array<string>} [xJsonMask] List of JSON fields to update.\n     * @param {Array<string>} [fields] List of fields to include in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateCase(\n      inputEtag: string,\n      input: InputDataWithUpdatedFields,\n      xJsonMask?: Array<string>,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesCase> {\n      return CasesApiFp(configuration)\n        .updateCase(inputEtag, input, xJsonMask, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary RPC method for updating an existing case.\n     * @param {string} inputEtag\n     * @param {InputDataWithUpdatedFields1} input\n     * @param {Array<string>} [xJsonMask] List of JSON fields to update.\n     * @param {Array<string>} [fields] List of fields to include in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateCase2(\n      inputEtag: string,\n      input: InputDataWithUpdatedFields1,\n      xJsonMask?: Array<string>,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesCase> {\n      return CasesApiFp(configuration)\n        .updateCase2(inputEtag, input, xJsonMask, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * CasesApi - object-oriented interface\n * @export\n * @class CasesApi\n * @extends {BaseAPI}\n */\nexport class CasesApi extends BaseAPI {\n  /**\n   *\n   * @summary RPC method for creating a new case.\n   * @param {WebitelCasesInputCreateCase} input Input data for creating the case.\n   * @param {Array<string>} [fields] List of fields to include in the response.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CasesApi\n   */\n  public createCase(\n    input: WebitelCasesInputCreateCase,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return CasesApiFp(this.configuration)\n      .createCase(input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary RPC method for deleting an existing case by its etag.\n   * @param {string} etag Unique etag identifier of the case.\n   * @param {Array<string>} [fields] List of fields to include in the deleted case response.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CasesApi\n   */\n  public deleteCase(etag: string, fields?: Array<string>, options?: any) {\n    return CasesApiFp(this.configuration)\n      .deleteCase(etag, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary RPC method to retrieve a specific case by its etag identifier.\n   * @param {string} etag Unique etag identifier of the case.\n   * @param {Array<string>} [fields] List of fields to include in the response.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CasesApi\n   */\n  public locateCase(etag: string, fields?: Array<string>, options?: any) {\n    return CasesApiFp(this.configuration)\n      .locateCase(etag, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary RPC method for searching cases.\n   * @param {number} [page] Page number for pagination.\n   * @param {number} [size] Number of results per page.\n   * @param {string} [q] Query string for searching cases.\n   * @param {Array<string>} [ids] List of specific case IDs to retrieve.\n   * @param {string} [sort] Sorting criteria (e.g., field:asc).\n   * @param {Array<string>} [fields] List of fields to include in the response.\n   * @param {Array<string>} [filters] Key-value pairs for additional filtering.\n   * @param {string} [contactId] Contact ID for filtering cases.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CasesApi\n   */\n  public searchCases(\n    page?: number,\n    size?: number,\n    q?: string,\n    ids?: Array<string>,\n    sort?: string,\n    fields?: Array<string>,\n    filters?: Array<string>,\n    contactId?: string,\n    options?: any\n  ) {\n    return CasesApiFp(this.configuration)\n      .searchCases(\n        page,\n        size,\n        q,\n        ids,\n        sort,\n        fields,\n        filters,\n        contactId,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary RPC method for searching cases.\n   * @param {string} contactId Contact ID for filtering cases.\n   * @param {number} [page] Page number for pagination.\n   * @param {number} [size] Number of results per page.\n   * @param {string} [q] Query string for searching cases.\n   * @param {Array<string>} [ids] List of specific case IDs to retrieve.\n   * @param {string} [sort] Sorting criteria (e.g., field:asc).\n   * @param {Array<string>} [fields] List of fields to include in the response.\n   * @param {Array<string>} [filters] Key-value pairs for additional filtering.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CasesApi\n   */\n  public searchCases2(\n    contactId: string,\n    page?: number,\n    size?: number,\n    q?: string,\n    ids?: Array<string>,\n    sort?: string,\n    fields?: Array<string>,\n    filters?: Array<string>,\n    options?: any\n  ) {\n    return CasesApiFp(this.configuration)\n      .searchCases2(\n        contactId,\n        page,\n        size,\n        q,\n        ids,\n        sort,\n        fields,\n        filters,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary RPC method for updating an existing case.\n   * @param {string} inputEtag\n   * @param {InputDataWithUpdatedFields} input\n   * @param {Array<string>} [xJsonMask] List of JSON fields to update.\n   * @param {Array<string>} [fields] List of fields to include in the response.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CasesApi\n   */\n  public updateCase(\n    inputEtag: string,\n    input: InputDataWithUpdatedFields,\n    xJsonMask?: Array<string>,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return CasesApiFp(this.configuration)\n      .updateCase(inputEtag, input, xJsonMask, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary RPC method for updating an existing case.\n   * @param {string} inputEtag\n   * @param {InputDataWithUpdatedFields1} input\n   * @param {Array<string>} [xJsonMask] List of JSON fields to update.\n   * @param {Array<string>} [fields] List of fields to include in the response.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CasesApi\n   */\n  public updateCase2(\n    inputEtag: string,\n    input: InputDataWithUpdatedFields1,\n    xJsonMask?: Array<string>,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return CasesApiFp(this.configuration)\n      .updateCase2(inputEtag, input, xJsonMask, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { WebitelChatChatMessages } from '../api'\n/**\n * CasesChatCatalogApi - axios parameter creator\n * @export\n */\nexport const CasesChatCatalogApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {string} caseId Contact identificator\n     * @param {string} chatId Unique chat dialog\n     * @param {string} [offsetId] Messages ONLY starting from the specified message ID\n     * @param {string} [offsetDate] Messages ONLY been sent before the specified epochtime(milli).\n     * @param {number} [size] Number of messages to return.\n     * @param {number} [page]\n     * @param {string} [q] Search term: message.text\n     * @param {Array<string>} [fields] Fields to return into result.\n     * @param {string} [groupString] This is a request variable of the map type. The query format is \\&quot;map_name[key]&#x3D;value\\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\\&quot;bob\\&quot;]&#x3D;18\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getCaseChatHistory: async (\n      caseId: string,\n      chatId: string,\n      offsetId?: string,\n      offsetDate?: string,\n      size?: number,\n      page?: number,\n      q?: string,\n      fields?: Array<string>,\n      groupString?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'caseId' is not null or undefined\n      if (caseId === null || caseId === undefined) {\n        throw new RequiredError(\n          'caseId',\n          'Required parameter caseId was null or undefined when calling getCaseChatHistory.'\n        )\n      }\n      // verify required parameter 'chatId' is not null or undefined\n      if (chatId === null || chatId === undefined) {\n        throw new RequiredError(\n          'chatId',\n          'Required parameter chatId was null or undefined when calling getCaseChatHistory.'\n        )\n      }\n      const localVarPath = `/cases/{case_id}/chat/{chat_id}/messages`\n        .replace(`{${'case_id'}}`, encodeURIComponent(String(caseId)))\n        .replace(`{${'chat_id'}}`, encodeURIComponent(String(chatId)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (offsetId !== undefined) {\n        localVarQueryParameter['offset.id'] = offsetId\n      }\n\n      if (offsetDate !== undefined) {\n        localVarQueryParameter['offset.date'] = offsetDate\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (groupString !== undefined) {\n        localVarQueryParameter['group[string]'] = groupString\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * CasesChatCatalogApi - functional programming interface\n * @export\n */\nexport const CasesChatCatalogApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @param {string} caseId Contact identificator\n     * @param {string} chatId Unique chat dialog\n     * @param {string} [offsetId] Messages ONLY starting from the specified message ID\n     * @param {string} [offsetDate] Messages ONLY been sent before the specified epochtime(milli).\n     * @param {number} [size] Number of messages to return.\n     * @param {number} [page]\n     * @param {string} [q] Search term: message.text\n     * @param {Array<string>} [fields] Fields to return into result.\n     * @param {string} [groupString] This is a request variable of the map type. The query format is \\&quot;map_name[key]&#x3D;value\\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\\&quot;bob\\&quot;]&#x3D;18\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getCaseChatHistory(\n      caseId: string,\n      chatId: string,\n      offsetId?: string,\n      offsetDate?: string,\n      size?: number,\n      page?: number,\n      q?: string,\n      fields?: Array<string>,\n      groupString?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelChatChatMessages>\n    > {\n      const localVarAxiosArgs = await CasesChatCatalogApiAxiosParamCreator(\n        configuration\n      ).getCaseChatHistory(\n        caseId,\n        chatId,\n        offsetId,\n        offsetDate,\n        size,\n        page,\n        q,\n        fields,\n        groupString,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * CasesChatCatalogApi - factory interface\n * @export\n */\nexport const CasesChatCatalogApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {string} caseId Contact identificator\n     * @param {string} chatId Unique chat dialog\n     * @param {string} [offsetId] Messages ONLY starting from the specified message ID\n     * @param {string} [offsetDate] Messages ONLY been sent before the specified epochtime(milli).\n     * @param {number} [size] Number of messages to return.\n     * @param {number} [page]\n     * @param {string} [q] Search term: message.text\n     * @param {Array<string>} [fields] Fields to return into result.\n     * @param {string} [groupString] This is a request variable of the map type. The query format is \\&quot;map_name[key]&#x3D;value\\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\\&quot;bob\\&quot;]&#x3D;18\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getCaseChatHistory(\n      caseId: string,\n      chatId: string,\n      offsetId?: string,\n      offsetDate?: string,\n      size?: number,\n      page?: number,\n      q?: string,\n      fields?: Array<string>,\n      groupString?: string,\n      options?: any\n    ): AxiosPromise<WebitelChatChatMessages> {\n      return CasesChatCatalogApiFp(configuration)\n        .getCaseChatHistory(\n          caseId,\n          chatId,\n          offsetId,\n          offsetDate,\n          size,\n          page,\n          q,\n          fields,\n          groupString,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * CasesChatCatalogApi - object-oriented interface\n * @export\n * @class CasesChatCatalogApi\n * @extends {BaseAPI}\n */\nexport class CasesChatCatalogApi extends BaseAPI {\n  /**\n   *\n   * @param {string} caseId Contact identificator\n   * @param {string} chatId Unique chat dialog\n   * @param {string} [offsetId] Messages ONLY starting from the specified message ID\n   * @param {string} [offsetDate] Messages ONLY been sent before the specified epochtime(milli).\n   * @param {number} [size] Number of messages to return.\n   * @param {number} [page]\n   * @param {string} [q] Search term: message.text\n   * @param {Array<string>} [fields] Fields to return into result.\n   * @param {string} [groupString] This is a request variable of the map type. The query format is \\&quot;map_name[key]&#x3D;value\\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\\&quot;bob\\&quot;]&#x3D;18\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CasesChatCatalogApi\n   */\n  public getCaseChatHistory(\n    caseId: string,\n    chatId: string,\n    offsetId?: string,\n    offsetDate?: string,\n    size?: number,\n    page?: number,\n    q?: string,\n    fields?: Array<string>,\n    groupString?: string,\n    options?: any\n  ) {\n    return CasesChatCatalogApiFp(this.configuration)\n      .getCaseChatHistory(\n        caseId,\n        chatId,\n        offsetId,\n        offsetDate,\n        size,\n        page,\n        q,\n        fields,\n        groupString,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { WebitelChatChatCustomers } from '../api'\n// @ts-ignore\nimport { WebitelChatChatDialogs } from '../api'\n// @ts-ignore\nimport { WebitelChatChatMembers } from '../api'\n// @ts-ignore\nimport { WebitelChatChatMessages } from '../api'\n/**\n * CatalogApi - axios parameter creator\n * @export\n */\nexport const CatalogApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Query of external chat customers\n     * @param {number} [page] Page number to return. **default**: 1.\n     * @param {number} [size] Page records limit. **default**: 16.\n     * @param {string} [q] Search term: peer{id,name}\n     * @param {Array<string>} [sort] Sort records by { fields } specification.\n     * @param {Array<string>} [fields] Fields [Q]uery to build result dataset record.\n     * @param {Array<string>} [id] Set of unique contact **ID**entifier(s).\n     * @param {string} [type] The type of contact to filter.\n     * @param {string} [viaId] Contact unique **ID**entifier. Contact **type**-specific string.\n     * @param {string} [viaType] Contact **type** provider.\n     * @param {string} [viaName] Contact display **name**.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getCustomers: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      type?: string,\n      viaId?: string,\n      viaType?: string,\n      viaName?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/chat/customers`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (type !== undefined) {\n        localVarQueryParameter['type'] = type\n      }\n\n      if (viaId !== undefined) {\n        localVarQueryParameter['via.id'] = viaId\n      }\n\n      if (viaType !== undefined) {\n        localVarQueryParameter['via.type'] = viaType\n      }\n\n      if (viaName !== undefined) {\n        localVarQueryParameter['via.name'] = viaName\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Query of chat conversations\n     * @param {number} [page] Page number to return. **default**: 1.\n     * @param {number} [size] Page records limit. **default**: 16.\n     * @param {string} [q] Search term: peer.name\n     * @param {Array<string>} [sort] Sort records by { fields } specification.\n     * @param {Array<string>} [fields] Fields [Q]uery to build result dataset record.\n     * @param {Array<string>} [id] Set of unique chat IDentifier(s). Accept: dialog -or- member ID.\n     * @param {string} [viaId] Contact unique **ID**entifier. Contact **type**-specific string.\n     * @param {string} [viaType] Contact **type** provider.\n     * @param {string} [viaName] Contact display **name**.\n     * @param {string} [peerId] Contact unique **ID**entifier. Contact **type**-specific string.\n     * @param {string} [peerType] Contact **type** provider.\n     * @param {string} [peerName] Contact display **name**.\n     * @param {string} [dateSince] Since epochtime (milli). **Match**: greater than ..\n     * @param {string} [dateUntil] Until epochtime (milli). **Match**: less or equal ..\n     * @param {boolean} [online] Dialogs ONLY that are currently [not] active( closed: ? ).\n     * @param {string} [groupString] This is a request variable of the map type. The query format is \\&quot;map_name[key]&#x3D;value\\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\\&quot;bob\\&quot;]&#x3D;18\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getDialogs: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      viaId?: string,\n      viaType?: string,\n      viaName?: string,\n      peerId?: string,\n      peerType?: string,\n      peerName?: string,\n      dateSince?: string,\n      dateUntil?: string,\n      online?: boolean,\n      groupString?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/chat/dialogs`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (viaId !== undefined) {\n        localVarQueryParameter['via.id'] = viaId\n      }\n\n      if (viaType !== undefined) {\n        localVarQueryParameter['via.type'] = viaType\n      }\n\n      if (viaName !== undefined) {\n        localVarQueryParameter['via.name'] = viaName\n      }\n\n      if (peerId !== undefined) {\n        localVarQueryParameter['peer.id'] = peerId\n      }\n\n      if (peerType !== undefined) {\n        localVarQueryParameter['peer.type'] = peerType\n      }\n\n      if (peerName !== undefined) {\n        localVarQueryParameter['peer.name'] = peerName\n      }\n\n      if (dateSince !== undefined) {\n        localVarQueryParameter['date.since'] = dateSince\n      }\n\n      if (dateUntil !== undefined) {\n        localVarQueryParameter['date.until'] = dateUntil\n      }\n\n      if (online !== undefined) {\n        localVarQueryParameter['online'] = online\n      }\n\n      if (groupString !== undefined) {\n        localVarQueryParameter['group[string]'] = groupString\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Query of the chat history\n     * @param {string} chatId Unique chat dialog\n     * @param {string} [offsetId] Messages ONLY starting from the specified message ID\n     * @param {string} [offsetDate] Messages ONLY been sent before the specified epochtime(milli).\n     * @param {number} [limit] Number of messages to return.\n     * @param {string} [q] Search term: message.text\n     * @param {Array<string>} [fields] Fields to return into result.\n     * @param {string} [peerId] Contact unique **ID**entifier. Contact **type**-specific string.\n     * @param {string} [peerType] Contact **type** provider.\n     * @param {string} [peerName] Contact display **name**.\n     * @param {string} [groupString] This is a request variable of the map type. The query format is \\&quot;map_name[key]&#x3D;value\\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\\&quot;bob\\&quot;]&#x3D;18\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getHistory: async (\n      chatId: string,\n      offsetId?: string,\n      offsetDate?: string,\n      limit?: number,\n      q?: string,\n      fields?: Array<string>,\n      peerId?: string,\n      peerType?: string,\n      peerName?: string,\n      groupString?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'chatId' is not null or undefined\n      if (chatId === null || chatId === undefined) {\n        throw new RequiredError(\n          'chatId',\n          'Required parameter chatId was null or undefined when calling getHistory.'\n        )\n      }\n      const localVarPath = `/chat/dialogs/{chat_id}/messages`.replace(\n        `{${'chat_id'}}`,\n        encodeURIComponent(String(chatId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (offsetId !== undefined) {\n        localVarQueryParameter['offset.id'] = offsetId\n      }\n\n      if (offsetDate !== undefined) {\n        localVarQueryParameter['offset.date'] = offsetDate\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter['limit'] = limit\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (peerId !== undefined) {\n        localVarQueryParameter['peer.id'] = peerId\n      }\n\n      if (peerType !== undefined) {\n        localVarQueryParameter['peer.type'] = peerType\n      }\n\n      if (peerName !== undefined) {\n        localVarQueryParameter['peer.name'] = peerName\n      }\n\n      if (groupString !== undefined) {\n        localVarQueryParameter['group[string]'] = groupString\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Query of the chat history\n     * @param {string} peerType Contact **type** provider.\n     * @param {string} peerId Contact unique **ID**entifier. Contact **type**-specific string.\n     * @param {string} [offsetId] Messages ONLY starting from the specified message ID\n     * @param {string} [offsetDate] Messages ONLY been sent before the specified epochtime(milli).\n     * @param {number} [limit] Number of messages to return.\n     * @param {string} [q] Search term: message.text\n     * @param {Array<string>} [fields] Fields to return into result.\n     * @param {string} [chatId] Unique chat dialog\n     * @param {string} [peerName] Contact display **name**.\n     * @param {string} [groupStringString] This is a request variable of the map type. The query format is \\&quot;map_name[key]&#x3D;value\\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\\&quot;bob\\&quot;]&#x3D;18\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getHistory2: async (\n      peerType: string,\n      peerId: string,\n      offsetId?: string,\n      offsetDate?: string,\n      limit?: number,\n      q?: string,\n      fields?: Array<string>,\n      chatId?: string,\n      peerName?: string,\n      groupStringString?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'peerType' is not null or undefined\n      if (peerType === null || peerType === undefined) {\n        throw new RequiredError(\n          'peerType',\n          'Required parameter peerType was null or undefined when calling getHistory2.'\n        )\n      }\n      // verify required parameter 'peerId' is not null or undefined\n      if (peerId === null || peerId === undefined) {\n        throw new RequiredError(\n          'peerId',\n          'Required parameter peerId was null or undefined when calling getHistory2.'\n        )\n      }\n      const localVarPath = `/chat/{peer.type}/{peer.id}/messages`\n        .replace(`{${'peer.type'}}`, encodeURIComponent(String(peerType)))\n        .replace(`{${'peer.id'}}`, encodeURIComponent(String(peerId)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (offsetId !== undefined) {\n        localVarQueryParameter['offset.id'] = offsetId\n      }\n\n      if (offsetDate !== undefined) {\n        localVarQueryParameter['offset.date'] = offsetDate\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter['limit'] = limit\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (chatId !== undefined) {\n        localVarQueryParameter['chat_id'] = chatId\n      }\n\n      if (peerName !== undefined) {\n        localVarQueryParameter['peer.name'] = peerName\n      }\n\n      if (groupStringString !== undefined) {\n        localVarQueryParameter['group[string][string]'] = groupStringString\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Query of chat participants\n     * @param {string} chatId ID of the chat dialog.\n     * @param {number} [page] Page number to return. **default**: 1.\n     * @param {number} [size] Page records limit. **default**: 16.\n     * @param {string} [q] Search term: peer(type;name)\n     * @param {Array<string>} [sort] Sort records by { fields } specification.\n     * @param {Array<string>} [fields] Fields [Q]uery to build result dataset record.\n     * @param {Array<string>} [id] Set of unique chat member ID.\n     * @param {string} [viaId] Contact unique **ID**entifier. Contact **type**-specific string.\n     * @param {string} [viaType] Contact **type** provider.\n     * @param {string} [viaName] Contact display **name**.\n     * @param {string} [peerId] Contact unique **ID**entifier. Contact **type**-specific string.\n     * @param {string} [peerType] Contact **type** provider.\n     * @param {string} [peerName] Contact display **name**.\n     * @param {string} [dateSince] Since epochtime (milli). **Match**: greater than ..\n     * @param {string} [dateUntil] Until epochtime (milli). **Match**: less or equal ..\n     * @param {boolean} [online] Participants ONLY who are currently [not] connected to the chat. ( left: ( 0 ? online : offline ) )\n     * @param {boolean} [joined] Participants ONLY who have [not] been connected to the chat. ( join: ( 0 ? [request|abandoned] : connected ) )\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getMembers: async (\n      chatId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      viaId?: string,\n      viaType?: string,\n      viaName?: string,\n      peerId?: string,\n      peerType?: string,\n      peerName?: string,\n      dateSince?: string,\n      dateUntil?: string,\n      online?: boolean,\n      joined?: boolean,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'chatId' is not null or undefined\n      if (chatId === null || chatId === undefined) {\n        throw new RequiredError(\n          'chatId',\n          'Required parameter chatId was null or undefined when calling getMembers.'\n        )\n      }\n      const localVarPath = `/chat/dialogs/{chat_id}/members`.replace(\n        `{${'chat_id'}}`,\n        encodeURIComponent(String(chatId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (viaId !== undefined) {\n        localVarQueryParameter['via.id'] = viaId\n      }\n\n      if (viaType !== undefined) {\n        localVarQueryParameter['via.type'] = viaType\n      }\n\n      if (viaName !== undefined) {\n        localVarQueryParameter['via.name'] = viaName\n      }\n\n      if (peerId !== undefined) {\n        localVarQueryParameter['peer.id'] = peerId\n      }\n\n      if (peerType !== undefined) {\n        localVarQueryParameter['peer.type'] = peerType\n      }\n\n      if (peerName !== undefined) {\n        localVarQueryParameter['peer.name'] = peerName\n      }\n\n      if (dateSince !== undefined) {\n        localVarQueryParameter['date.since'] = dateSince\n      }\n\n      if (dateUntil !== undefined) {\n        localVarQueryParameter['date.until'] = dateUntil\n      }\n\n      if (online !== undefined) {\n        localVarQueryParameter['online'] = online\n      }\n\n      if (joined !== undefined) {\n        localVarQueryParameter['joined'] = joined\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * CatalogApi - functional programming interface\n * @export\n */\nexport const CatalogApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Query of external chat customers\n     * @param {number} [page] Page number to return. **default**: 1.\n     * @param {number} [size] Page records limit. **default**: 16.\n     * @param {string} [q] Search term: peer{id,name}\n     * @param {Array<string>} [sort] Sort records by { fields } specification.\n     * @param {Array<string>} [fields] Fields [Q]uery to build result dataset record.\n     * @param {Array<string>} [id] Set of unique contact **ID**entifier(s).\n     * @param {string} [type] The type of contact to filter.\n     * @param {string} [viaId] Contact unique **ID**entifier. Contact **type**-specific string.\n     * @param {string} [viaType] Contact **type** provider.\n     * @param {string} [viaName] Contact display **name**.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getCustomers(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      type?: string,\n      viaId?: string,\n      viaType?: string,\n      viaName?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelChatChatCustomers>\n    > {\n      const localVarAxiosArgs = await CatalogApiAxiosParamCreator(\n        configuration\n      ).getCustomers(\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        type,\n        viaId,\n        viaType,\n        viaName,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Query of chat conversations\n     * @param {number} [page] Page number to return. **default**: 1.\n     * @param {number} [size] Page records limit. **default**: 16.\n     * @param {string} [q] Search term: peer.name\n     * @param {Array<string>} [sort] Sort records by { fields } specification.\n     * @param {Array<string>} [fields] Fields [Q]uery to build result dataset record.\n     * @param {Array<string>} [id] Set of unique chat IDentifier(s). Accept: dialog -or- member ID.\n     * @param {string} [viaId] Contact unique **ID**entifier. Contact **type**-specific string.\n     * @param {string} [viaType] Contact **type** provider.\n     * @param {string} [viaName] Contact display **name**.\n     * @param {string} [peerId] Contact unique **ID**entifier. Contact **type**-specific string.\n     * @param {string} [peerType] Contact **type** provider.\n     * @param {string} [peerName] Contact display **name**.\n     * @param {string} [dateSince] Since epochtime (milli). **Match**: greater than ..\n     * @param {string} [dateUntil] Until epochtime (milli). **Match**: less or equal ..\n     * @param {boolean} [online] Dialogs ONLY that are currently [not] active( closed: ? ).\n     * @param {string} [groupString] This is a request variable of the map type. The query format is \\&quot;map_name[key]&#x3D;value\\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\\&quot;bob\\&quot;]&#x3D;18\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getDialogs(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      viaId?: string,\n      viaType?: string,\n      viaName?: string,\n      peerId?: string,\n      peerType?: string,\n      peerName?: string,\n      dateSince?: string,\n      dateUntil?: string,\n      online?: boolean,\n      groupString?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelChatChatDialogs>\n    > {\n      const localVarAxiosArgs = await CatalogApiAxiosParamCreator(\n        configuration\n      ).getDialogs(\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        viaId,\n        viaType,\n        viaName,\n        peerId,\n        peerType,\n        peerName,\n        dateSince,\n        dateUntil,\n        online,\n        groupString,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Query of the chat history\n     * @param {string} chatId Unique chat dialog\n     * @param {string} [offsetId] Messages ONLY starting from the specified message ID\n     * @param {string} [offsetDate] Messages ONLY been sent before the specified epochtime(milli).\n     * @param {number} [limit] Number of messages to return.\n     * @param {string} [q] Search term: message.text\n     * @param {Array<string>} [fields] Fields to return into result.\n     * @param {string} [peerId] Contact unique **ID**entifier. Contact **type**-specific string.\n     * @param {string} [peerType] Contact **type** provider.\n     * @param {string} [peerName] Contact display **name**.\n     * @param {string} [groupString] This is a request variable of the map type. The query format is \\&quot;map_name[key]&#x3D;value\\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\\&quot;bob\\&quot;]&#x3D;18\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getHistory(\n      chatId: string,\n      offsetId?: string,\n      offsetDate?: string,\n      limit?: number,\n      q?: string,\n      fields?: Array<string>,\n      peerId?: string,\n      peerType?: string,\n      peerName?: string,\n      groupString?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelChatChatMessages>\n    > {\n      const localVarAxiosArgs = await CatalogApiAxiosParamCreator(\n        configuration\n      ).getHistory(\n        chatId,\n        offsetId,\n        offsetDate,\n        limit,\n        q,\n        fields,\n        peerId,\n        peerType,\n        peerName,\n        groupString,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Query of the chat history\n     * @param {string} peerType Contact **type** provider.\n     * @param {string} peerId Contact unique **ID**entifier. Contact **type**-specific string.\n     * @param {string} [offsetId] Messages ONLY starting from the specified message ID\n     * @param {string} [offsetDate] Messages ONLY been sent before the specified epochtime(milli).\n     * @param {number} [limit] Number of messages to return.\n     * @param {string} [q] Search term: message.text\n     * @param {Array<string>} [fields] Fields to return into result.\n     * @param {string} [chatId] Unique chat dialog\n     * @param {string} [peerName] Contact display **name**.\n     * @param {string} [groupStringString] This is a request variable of the map type. The query format is \\&quot;map_name[key]&#x3D;value\\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\\&quot;bob\\&quot;]&#x3D;18\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getHistory2(\n      peerType: string,\n      peerId: string,\n      offsetId?: string,\n      offsetDate?: string,\n      limit?: number,\n      q?: string,\n      fields?: Array<string>,\n      chatId?: string,\n      peerName?: string,\n      groupStringString?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelChatChatMessages>\n    > {\n      const localVarAxiosArgs = await CatalogApiAxiosParamCreator(\n        configuration\n      ).getHistory2(\n        peerType,\n        peerId,\n        offsetId,\n        offsetDate,\n        limit,\n        q,\n        fields,\n        chatId,\n        peerName,\n        groupStringString,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Query of chat participants\n     * @param {string} chatId ID of the chat dialog.\n     * @param {number} [page] Page number to return. **default**: 1.\n     * @param {number} [size] Page records limit. **default**: 16.\n     * @param {string} [q] Search term: peer(type;name)\n     * @param {Array<string>} [sort] Sort records by { fields } specification.\n     * @param {Array<string>} [fields] Fields [Q]uery to build result dataset record.\n     * @param {Array<string>} [id] Set of unique chat member ID.\n     * @param {string} [viaId] Contact unique **ID**entifier. Contact **type**-specific string.\n     * @param {string} [viaType] Contact **type** provider.\n     * @param {string} [viaName] Contact display **name**.\n     * @param {string} [peerId] Contact unique **ID**entifier. Contact **type**-specific string.\n     * @param {string} [peerType] Contact **type** provider.\n     * @param {string} [peerName] Contact display **name**.\n     * @param {string} [dateSince] Since epochtime (milli). **Match**: greater than ..\n     * @param {string} [dateUntil] Until epochtime (milli). **Match**: less or equal ..\n     * @param {boolean} [online] Participants ONLY who are currently [not] connected to the chat. ( left: ( 0 ? online : offline ) )\n     * @param {boolean} [joined] Participants ONLY who have [not] been connected to the chat. ( join: ( 0 ? [request|abandoned] : connected ) )\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getMembers(\n      chatId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      viaId?: string,\n      viaType?: string,\n      viaName?: string,\n      peerId?: string,\n      peerType?: string,\n      peerName?: string,\n      dateSince?: string,\n      dateUntil?: string,\n      online?: boolean,\n      joined?: boolean,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelChatChatMembers>\n    > {\n      const localVarAxiosArgs = await CatalogApiAxiosParamCreator(\n        configuration\n      ).getMembers(\n        chatId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        viaId,\n        viaType,\n        viaName,\n        peerId,\n        peerType,\n        peerName,\n        dateSince,\n        dateUntil,\n        online,\n        joined,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * CatalogApi - factory interface\n * @export\n */\nexport const CatalogApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Query of external chat customers\n     * @param {number} [page] Page number to return. **default**: 1.\n     * @param {number} [size] Page records limit. **default**: 16.\n     * @param {string} [q] Search term: peer{id,name}\n     * @param {Array<string>} [sort] Sort records by { fields } specification.\n     * @param {Array<string>} [fields] Fields [Q]uery to build result dataset record.\n     * @param {Array<string>} [id] Set of unique contact **ID**entifier(s).\n     * @param {string} [type] The type of contact to filter.\n     * @param {string} [viaId] Contact unique **ID**entifier. Contact **type**-specific string.\n     * @param {string} [viaType] Contact **type** provider.\n     * @param {string} [viaName] Contact display **name**.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getCustomers(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      type?: string,\n      viaId?: string,\n      viaType?: string,\n      viaName?: string,\n      options?: any\n    ): AxiosPromise<WebitelChatChatCustomers> {\n      return CatalogApiFp(configuration)\n        .getCustomers(\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          id,\n          type,\n          viaId,\n          viaType,\n          viaName,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Query of chat conversations\n     * @param {number} [page] Page number to return. **default**: 1.\n     * @param {number} [size] Page records limit. **default**: 16.\n     * @param {string} [q] Search term: peer.name\n     * @param {Array<string>} [sort] Sort records by { fields } specification.\n     * @param {Array<string>} [fields] Fields [Q]uery to build result dataset record.\n     * @param {Array<string>} [id] Set of unique chat IDentifier(s). Accept: dialog -or- member ID.\n     * @param {string} [viaId] Contact unique **ID**entifier. Contact **type**-specific string.\n     * @param {string} [viaType] Contact **type** provider.\n     * @param {string} [viaName] Contact display **name**.\n     * @param {string} [peerId] Contact unique **ID**entifier. Contact **type**-specific string.\n     * @param {string} [peerType] Contact **type** provider.\n     * @param {string} [peerName] Contact display **name**.\n     * @param {string} [dateSince] Since epochtime (milli). **Match**: greater than ..\n     * @param {string} [dateUntil] Until epochtime (milli). **Match**: less or equal ..\n     * @param {boolean} [online] Dialogs ONLY that are currently [not] active( closed: ? ).\n     * @param {string} [groupString] This is a request variable of the map type. The query format is \\&quot;map_name[key]&#x3D;value\\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\\&quot;bob\\&quot;]&#x3D;18\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getDialogs(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      viaId?: string,\n      viaType?: string,\n      viaName?: string,\n      peerId?: string,\n      peerType?: string,\n      peerName?: string,\n      dateSince?: string,\n      dateUntil?: string,\n      online?: boolean,\n      groupString?: string,\n      options?: any\n    ): AxiosPromise<WebitelChatChatDialogs> {\n      return CatalogApiFp(configuration)\n        .getDialogs(\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          id,\n          viaId,\n          viaType,\n          viaName,\n          peerId,\n          peerType,\n          peerName,\n          dateSince,\n          dateUntil,\n          online,\n          groupString,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Query of the chat history\n     * @param {string} chatId Unique chat dialog\n     * @param {string} [offsetId] Messages ONLY starting from the specified message ID\n     * @param {string} [offsetDate] Messages ONLY been sent before the specified epochtime(milli).\n     * @param {number} [limit] Number of messages to return.\n     * @param {string} [q] Search term: message.text\n     * @param {Array<string>} [fields] Fields to return into result.\n     * @param {string} [peerId] Contact unique **ID**entifier. Contact **type**-specific string.\n     * @param {string} [peerType] Contact **type** provider.\n     * @param {string} [peerName] Contact display **name**.\n     * @param {string} [groupString] This is a request variable of the map type. The query format is \\&quot;map_name[key]&#x3D;value\\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\\&quot;bob\\&quot;]&#x3D;18\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getHistory(\n      chatId: string,\n      offsetId?: string,\n      offsetDate?: string,\n      limit?: number,\n      q?: string,\n      fields?: Array<string>,\n      peerId?: string,\n      peerType?: string,\n      peerName?: string,\n      groupString?: string,\n      options?: any\n    ): AxiosPromise<WebitelChatChatMessages> {\n      return CatalogApiFp(configuration)\n        .getHistory(\n          chatId,\n          offsetId,\n          offsetDate,\n          limit,\n          q,\n          fields,\n          peerId,\n          peerType,\n          peerName,\n          groupString,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Query of the chat history\n     * @param {string} peerType Contact **type** provider.\n     * @param {string} peerId Contact unique **ID**entifier. Contact **type**-specific string.\n     * @param {string} [offsetId] Messages ONLY starting from the specified message ID\n     * @param {string} [offsetDate] Messages ONLY been sent before the specified epochtime(milli).\n     * @param {number} [limit] Number of messages to return.\n     * @param {string} [q] Search term: message.text\n     * @param {Array<string>} [fields] Fields to return into result.\n     * @param {string} [chatId] Unique chat dialog\n     * @param {string} [peerName] Contact display **name**.\n     * @param {string} [groupStringString] This is a request variable of the map type. The query format is \\&quot;map_name[key]&#x3D;value\\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\\&quot;bob\\&quot;]&#x3D;18\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getHistory2(\n      peerType: string,\n      peerId: string,\n      offsetId?: string,\n      offsetDate?: string,\n      limit?: number,\n      q?: string,\n      fields?: Array<string>,\n      chatId?: string,\n      peerName?: string,\n      groupStringString?: string,\n      options?: any\n    ): AxiosPromise<WebitelChatChatMessages> {\n      return CatalogApiFp(configuration)\n        .getHistory2(\n          peerType,\n          peerId,\n          offsetId,\n          offsetDate,\n          limit,\n          q,\n          fields,\n          chatId,\n          peerName,\n          groupStringString,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Query of chat participants\n     * @param {string} chatId ID of the chat dialog.\n     * @param {number} [page] Page number to return. **default**: 1.\n     * @param {number} [size] Page records limit. **default**: 16.\n     * @param {string} [q] Search term: peer(type;name)\n     * @param {Array<string>} [sort] Sort records by { fields } specification.\n     * @param {Array<string>} [fields] Fields [Q]uery to build result dataset record.\n     * @param {Array<string>} [id] Set of unique chat member ID.\n     * @param {string} [viaId] Contact unique **ID**entifier. Contact **type**-specific string.\n     * @param {string} [viaType] Contact **type** provider.\n     * @param {string} [viaName] Contact display **name**.\n     * @param {string} [peerId] Contact unique **ID**entifier. Contact **type**-specific string.\n     * @param {string} [peerType] Contact **type** provider.\n     * @param {string} [peerName] Contact display **name**.\n     * @param {string} [dateSince] Since epochtime (milli). **Match**: greater than ..\n     * @param {string} [dateUntil] Until epochtime (milli). **Match**: less or equal ..\n     * @param {boolean} [online] Participants ONLY who are currently [not] connected to the chat. ( left: ( 0 ? online : offline ) )\n     * @param {boolean} [joined] Participants ONLY who have [not] been connected to the chat. ( join: ( 0 ? [request|abandoned] : connected ) )\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getMembers(\n      chatId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      viaId?: string,\n      viaType?: string,\n      viaName?: string,\n      peerId?: string,\n      peerType?: string,\n      peerName?: string,\n      dateSince?: string,\n      dateUntil?: string,\n      online?: boolean,\n      joined?: boolean,\n      options?: any\n    ): AxiosPromise<WebitelChatChatMembers> {\n      return CatalogApiFp(configuration)\n        .getMembers(\n          chatId,\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          id,\n          viaId,\n          viaType,\n          viaName,\n          peerId,\n          peerType,\n          peerName,\n          dateSince,\n          dateUntil,\n          online,\n          joined,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * CatalogApi - object-oriented interface\n * @export\n * @class CatalogApi\n * @extends {BaseAPI}\n */\nexport class CatalogApi extends BaseAPI {\n  /**\n   *\n   * @summary Query of external chat customers\n   * @param {number} [page] Page number to return. **default**: 1.\n   * @param {number} [size] Page records limit. **default**: 16.\n   * @param {string} [q] Search term: peer{id,name}\n   * @param {Array<string>} [sort] Sort records by { fields } specification.\n   * @param {Array<string>} [fields] Fields [Q]uery to build result dataset record.\n   * @param {Array<string>} [id] Set of unique contact **ID**entifier(s).\n   * @param {string} [type] The type of contact to filter.\n   * @param {string} [viaId] Contact unique **ID**entifier. Contact **type**-specific string.\n   * @param {string} [viaType] Contact **type** provider.\n   * @param {string} [viaName] Contact display **name**.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CatalogApi\n   */\n  public getCustomers(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: Array<string>,\n    fields?: Array<string>,\n    id?: Array<string>,\n    type?: string,\n    viaId?: string,\n    viaType?: string,\n    viaName?: string,\n    options?: any\n  ) {\n    return CatalogApiFp(this.configuration)\n      .getCustomers(\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        type,\n        viaId,\n        viaType,\n        viaName,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Query of chat conversations\n   * @param {number} [page] Page number to return. **default**: 1.\n   * @param {number} [size] Page records limit. **default**: 16.\n   * @param {string} [q] Search term: peer.name\n   * @param {Array<string>} [sort] Sort records by { fields } specification.\n   * @param {Array<string>} [fields] Fields [Q]uery to build result dataset record.\n   * @param {Array<string>} [id] Set of unique chat IDentifier(s). Accept: dialog -or- member ID.\n   * @param {string} [viaId] Contact unique **ID**entifier. Contact **type**-specific string.\n   * @param {string} [viaType] Contact **type** provider.\n   * @param {string} [viaName] Contact display **name**.\n   * @param {string} [peerId] Contact unique **ID**entifier. Contact **type**-specific string.\n   * @param {string} [peerType] Contact **type** provider.\n   * @param {string} [peerName] Contact display **name**.\n   * @param {string} [dateSince] Since epochtime (milli). **Match**: greater than ..\n   * @param {string} [dateUntil] Until epochtime (milli). **Match**: less or equal ..\n   * @param {boolean} [online] Dialogs ONLY that are currently [not] active( closed: ? ).\n   * @param {string} [groupString] This is a request variable of the map type. The query format is \\&quot;map_name[key]&#x3D;value\\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\\&quot;bob\\&quot;]&#x3D;18\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CatalogApi\n   */\n  public getDialogs(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: Array<string>,\n    fields?: Array<string>,\n    id?: Array<string>,\n    viaId?: string,\n    viaType?: string,\n    viaName?: string,\n    peerId?: string,\n    peerType?: string,\n    peerName?: string,\n    dateSince?: string,\n    dateUntil?: string,\n    online?: boolean,\n    groupString?: string,\n    options?: any\n  ) {\n    return CatalogApiFp(this.configuration)\n      .getDialogs(\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        viaId,\n        viaType,\n        viaName,\n        peerId,\n        peerType,\n        peerName,\n        dateSince,\n        dateUntil,\n        online,\n        groupString,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Query of the chat history\n   * @param {string} chatId Unique chat dialog\n   * @param {string} [offsetId] Messages ONLY starting from the specified message ID\n   * @param {string} [offsetDate] Messages ONLY been sent before the specified epochtime(milli).\n   * @param {number} [limit] Number of messages to return.\n   * @param {string} [q] Search term: message.text\n   * @param {Array<string>} [fields] Fields to return into result.\n   * @param {string} [peerId] Contact unique **ID**entifier. Contact **type**-specific string.\n   * @param {string} [peerType] Contact **type** provider.\n   * @param {string} [peerName] Contact display **name**.\n   * @param {string} [groupString] This is a request variable of the map type. The query format is \\&quot;map_name[key]&#x3D;value\\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\\&quot;bob\\&quot;]&#x3D;18\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CatalogApi\n   */\n  public getHistory(\n    chatId: string,\n    offsetId?: string,\n    offsetDate?: string,\n    limit?: number,\n    q?: string,\n    fields?: Array<string>,\n    peerId?: string,\n    peerType?: string,\n    peerName?: string,\n    groupString?: string,\n    options?: any\n  ) {\n    return CatalogApiFp(this.configuration)\n      .getHistory(\n        chatId,\n        offsetId,\n        offsetDate,\n        limit,\n        q,\n        fields,\n        peerId,\n        peerType,\n        peerName,\n        groupString,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Query of the chat history\n   * @param {string} peerType Contact **type** provider.\n   * @param {string} peerId Contact unique **ID**entifier. Contact **type**-specific string.\n   * @param {string} [offsetId] Messages ONLY starting from the specified message ID\n   * @param {string} [offsetDate] Messages ONLY been sent before the specified epochtime(milli).\n   * @param {number} [limit] Number of messages to return.\n   * @param {string} [q] Search term: message.text\n   * @param {Array<string>} [fields] Fields to return into result.\n   * @param {string} [chatId] Unique chat dialog\n   * @param {string} [peerName] Contact display **name**.\n   * @param {string} [groupStringString] This is a request variable of the map type. The query format is \\&quot;map_name[key]&#x3D;value\\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\\&quot;bob\\&quot;]&#x3D;18\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CatalogApi\n   */\n  public getHistory2(\n    peerType: string,\n    peerId: string,\n    offsetId?: string,\n    offsetDate?: string,\n    limit?: number,\n    q?: string,\n    fields?: Array<string>,\n    chatId?: string,\n    peerName?: string,\n    groupStringString?: string,\n    options?: any\n  ) {\n    return CatalogApiFp(this.configuration)\n      .getHistory2(\n        peerType,\n        peerId,\n        offsetId,\n        offsetDate,\n        limit,\n        q,\n        fields,\n        chatId,\n        peerName,\n        groupStringString,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Query of chat participants\n   * @param {string} chatId ID of the chat dialog.\n   * @param {number} [page] Page number to return. **default**: 1.\n   * @param {number} [size] Page records limit. **default**: 16.\n   * @param {string} [q] Search term: peer(type;name)\n   * @param {Array<string>} [sort] Sort records by { fields } specification.\n   * @param {Array<string>} [fields] Fields [Q]uery to build result dataset record.\n   * @param {Array<string>} [id] Set of unique chat member ID.\n   * @param {string} [viaId] Contact unique **ID**entifier. Contact **type**-specific string.\n   * @param {string} [viaType] Contact **type** provider.\n   * @param {string} [viaName] Contact display **name**.\n   * @param {string} [peerId] Contact unique **ID**entifier. Contact **type**-specific string.\n   * @param {string} [peerType] Contact **type** provider.\n   * @param {string} [peerName] Contact display **name**.\n   * @param {string} [dateSince] Since epochtime (milli). **Match**: greater than ..\n   * @param {string} [dateUntil] Until epochtime (milli). **Match**: less or equal ..\n   * @param {boolean} [online] Participants ONLY who are currently [not] connected to the chat. ( left: ( 0 ? online : offline ) )\n   * @param {boolean} [joined] Participants ONLY who have [not] been connected to the chat. ( join: ( 0 ? [request|abandoned] : connected ) )\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CatalogApi\n   */\n  public getMembers(\n    chatId: string,\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: Array<string>,\n    fields?: Array<string>,\n    id?: Array<string>,\n    viaId?: string,\n    viaType?: string,\n    viaName?: string,\n    peerId?: string,\n    peerType?: string,\n    peerName?: string,\n    dateSince?: string,\n    dateUntil?: string,\n    online?: boolean,\n    joined?: boolean,\n    options?: any\n  ) {\n    return CatalogApiFp(this.configuration)\n      .getMembers(\n        chatId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        viaId,\n        viaType,\n        viaName,\n        peerId,\n        peerType,\n        peerName,\n        dateSince,\n        dateUntil,\n        online,\n        joined,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n// @ts-ignore\nimport { WebitelCasesCatalog } from '../api'\n// @ts-ignore\nimport { WebitelCasesCatalogList } from '../api'\n// @ts-ignore\nimport { WebitelCasesInputCatalog } from '../api'\n// @ts-ignore\nimport { WebitelCasesLocateCatalogResponse } from '../api'\n/**\n * CatalogsApi - axios parameter creator\n * @export\n */\nexport const CatalogsApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create a new catalog\n     * @param {WebitelCasesInputCatalog} input\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createCatalog: async (\n      input: WebitelCasesInputCatalog,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling createCatalog.'\n        )\n      }\n      const localVarPath = `/cases/catalogs`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Delete a catalog\n     * @param {Array<string>} id ID of the catalog to be deleted\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteCatalog: async (\n      id: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteCatalog.'\n        )\n      }\n      const localVarPath = `/cases/catalogs/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Retrieve a list of catalogs or search catalogs\n     * @param {number} [page] Page number for pagination\n     * @param {number} [size] Number of records per page\n     * @param {Array<string>} [fields] Fields to be retrieved as a result. If the user passes \\&quot;-\\&quot; as the value for fields, it will retrieve all available fields for each catalog.\n     * @param {string} [sort] Sorting options by fields\n     * @param {Array<string>} [id] List of IDs to filter the catalogs\n     * @param {string} [query] Search query string for filtering by name. Supports: - Wildcards (*) for substring matching - Placeholder (?) for single character substitution - Exact match for full names\n     * @param {boolean} [state] Filter by state (true for active, false for inactive)\n     * @param {string} [depth] Filter by the depth of the hierarchy to retrieve services. The depth indicates how many ancestor levels of services will be included for each catalog. - A depth of 0 includes only the direct catalog. - A depth of 1 includes the catalog and its immediate services. - By default the depth is limited by 3,   meaning all nested services and sub-services will be included.\n     * @param {Array<string>} [subFields] Fields to be retrieved as a result for [SUBSERVICES]. If the user passes \\&quot;-\\&quot; as the value for fields, it will retrieve all available fields for each catalog subservices.\n     * @param {boolean} [hasSubservices] Filter catalogs with subservices\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listCatalogs: async (\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: string,\n      id?: Array<string>,\n      query?: string,\n      state?: boolean,\n      depth?: string,\n      subFields?: Array<string>,\n      hasSubservices?: boolean,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/cases/catalogs`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (query !== undefined) {\n        localVarQueryParameter['query'] = query\n      }\n\n      if (state !== undefined) {\n        localVarQueryParameter['state'] = state\n      }\n\n      if (depth !== undefined) {\n        localVarQueryParameter['depth'] = depth\n      }\n\n      if (subFields) {\n        localVarQueryParameter['sub_fields'] = subFields\n      }\n\n      if (hasSubservices !== undefined) {\n        localVarQueryParameter['hasSubservices'] = hasSubservices\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Locate a catalog by ID\n     * @param {string} id ID of the catalog to be located\n     * @param {Array<string>} [fields] Fields to be retrieved as a result. If the user passes \\&quot;-\\&quot; as the value for fields, it will retrieve all available fields for each catalog.\n     * @param {Array<string>} [subFields] Fields to be retrieved as a result for [SUBSERVICES]. If the user passes \\&quot;-\\&quot; as the value for fields, it will retrieve all available fields for each catalog subservices.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateCatalog: async (\n      id: string,\n      fields?: Array<string>,\n      subFields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling locateCatalog.'\n        )\n      }\n      const localVarPath = `/cases/catalogs/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (subFields) {\n        localVarQueryParameter['sub_fields'] = subFields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update an existing catalog\n     * @param {string} id ID of the catalog to be updated\n     * @param {WebitelCasesInputCatalog} input Input data for updating the catalog\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateCatalog: async (\n      id: string,\n      input: WebitelCasesInputCatalog,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateCatalog.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateCatalog.'\n        )\n      }\n      const localVarPath = `/cases/catalogs/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update an existing catalog\n     * @param {string} id ID of the catalog to be updated\n     * @param {WebitelCasesInputCatalog} input Input data for updating the catalog\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateCatalog2: async (\n      id: string,\n      input: WebitelCasesInputCatalog,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateCatalog2.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateCatalog2.'\n        )\n      }\n      const localVarPath = `/cases/catalogs/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * CatalogsApi - functional programming interface\n * @export\n */\nexport const CatalogsApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Create a new catalog\n     * @param {WebitelCasesInputCatalog} input\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createCatalog(\n      input: WebitelCasesInputCatalog,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesCatalog>\n    > {\n      const localVarAxiosArgs = await CatalogsApiAxiosParamCreator(\n        configuration\n      ).createCatalog(input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Delete a catalog\n     * @param {Array<string>} id ID of the catalog to be deleted\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteCatalog(\n      id: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesCatalogList>\n    > {\n      const localVarAxiosArgs = await CatalogsApiAxiosParamCreator(\n        configuration\n      ).deleteCatalog(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Retrieve a list of catalogs or search catalogs\n     * @param {number} [page] Page number for pagination\n     * @param {number} [size] Number of records per page\n     * @param {Array<string>} [fields] Fields to be retrieved as a result. If the user passes \\&quot;-\\&quot; as the value for fields, it will retrieve all available fields for each catalog.\n     * @param {string} [sort] Sorting options by fields\n     * @param {Array<string>} [id] List of IDs to filter the catalogs\n     * @param {string} [query] Search query string for filtering by name. Supports: - Wildcards (*) for substring matching - Placeholder (?) for single character substitution - Exact match for full names\n     * @param {boolean} [state] Filter by state (true for active, false for inactive)\n     * @param {string} [depth] Filter by the depth of the hierarchy to retrieve services. The depth indicates how many ancestor levels of services will be included for each catalog. - A depth of 0 includes only the direct catalog. - A depth of 1 includes the catalog and its immediate services. - By default the depth is limited by 3,   meaning all nested services and sub-services will be included.\n     * @param {Array<string>} [subFields] Fields to be retrieved as a result for [SUBSERVICES]. If the user passes \\&quot;-\\&quot; as the value for fields, it will retrieve all available fields for each catalog subservices.\n     * @param {boolean} [hasSubservices] Filter catalogs with subservices\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async listCatalogs(\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: string,\n      id?: Array<string>,\n      query?: string,\n      state?: boolean,\n      depth?: string,\n      subFields?: Array<string>,\n      hasSubservices?: boolean,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesCatalogList>\n    > {\n      const localVarAxiosArgs = await CatalogsApiAxiosParamCreator(\n        configuration\n      ).listCatalogs(\n        page,\n        size,\n        fields,\n        sort,\n        id,\n        query,\n        state,\n        depth,\n        subFields,\n        hasSubservices,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Locate a catalog by ID\n     * @param {string} id ID of the catalog to be located\n     * @param {Array<string>} [fields] Fields to be retrieved as a result. If the user passes \\&quot;-\\&quot; as the value for fields, it will retrieve all available fields for each catalog.\n     * @param {Array<string>} [subFields] Fields to be retrieved as a result for [SUBSERVICES]. If the user passes \\&quot;-\\&quot; as the value for fields, it will retrieve all available fields for each catalog subservices.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async locateCatalog(\n      id: string,\n      fields?: Array<string>,\n      subFields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesLocateCatalogResponse>\n    > {\n      const localVarAxiosArgs = await CatalogsApiAxiosParamCreator(\n        configuration\n      ).locateCatalog(id, fields, subFields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update an existing catalog\n     * @param {string} id ID of the catalog to be updated\n     * @param {WebitelCasesInputCatalog} input Input data for updating the catalog\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateCatalog(\n      id: string,\n      input: WebitelCasesInputCatalog,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesCatalog>\n    > {\n      const localVarAxiosArgs = await CatalogsApiAxiosParamCreator(\n        configuration\n      ).updateCatalog(id, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update an existing catalog\n     * @param {string} id ID of the catalog to be updated\n     * @param {WebitelCasesInputCatalog} input Input data for updating the catalog\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateCatalog2(\n      id: string,\n      input: WebitelCasesInputCatalog,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesCatalog>\n    > {\n      const localVarAxiosArgs = await CatalogsApiAxiosParamCreator(\n        configuration\n      ).updateCatalog2(id, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * CatalogsApi - factory interface\n * @export\n */\nexport const CatalogsApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Create a new catalog\n     * @param {WebitelCasesInputCatalog} input\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createCatalog(\n      input: WebitelCasesInputCatalog,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesCatalog> {\n      return CatalogsApiFp(configuration)\n        .createCatalog(input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Delete a catalog\n     * @param {Array<string>} id ID of the catalog to be deleted\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteCatalog(\n      id: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesCatalogList> {\n      return CatalogsApiFp(configuration)\n        .deleteCatalog(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Retrieve a list of catalogs or search catalogs\n     * @param {number} [page] Page number for pagination\n     * @param {number} [size] Number of records per page\n     * @param {Array<string>} [fields] Fields to be retrieved as a result. If the user passes \\&quot;-\\&quot; as the value for fields, it will retrieve all available fields for each catalog.\n     * @param {string} [sort] Sorting options by fields\n     * @param {Array<string>} [id] List of IDs to filter the catalogs\n     * @param {string} [query] Search query string for filtering by name. Supports: - Wildcards (*) for substring matching - Placeholder (?) for single character substitution - Exact match for full names\n     * @param {boolean} [state] Filter by state (true for active, false for inactive)\n     * @param {string} [depth] Filter by the depth of the hierarchy to retrieve services. The depth indicates how many ancestor levels of services will be included for each catalog. - A depth of 0 includes only the direct catalog. - A depth of 1 includes the catalog and its immediate services. - By default the depth is limited by 3,   meaning all nested services and sub-services will be included.\n     * @param {Array<string>} [subFields] Fields to be retrieved as a result for [SUBSERVICES]. If the user passes \\&quot;-\\&quot; as the value for fields, it will retrieve all available fields for each catalog subservices.\n     * @param {boolean} [hasSubservices] Filter catalogs with subservices\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listCatalogs(\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: string,\n      id?: Array<string>,\n      query?: string,\n      state?: boolean,\n      depth?: string,\n      subFields?: Array<string>,\n      hasSubservices?: boolean,\n      options?: any\n    ): AxiosPromise<WebitelCasesCatalogList> {\n      return CatalogsApiFp(configuration)\n        .listCatalogs(\n          page,\n          size,\n          fields,\n          sort,\n          id,\n          query,\n          state,\n          depth,\n          subFields,\n          hasSubservices,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Locate a catalog by ID\n     * @param {string} id ID of the catalog to be located\n     * @param {Array<string>} [fields] Fields to be retrieved as a result. If the user passes \\&quot;-\\&quot; as the value for fields, it will retrieve all available fields for each catalog.\n     * @param {Array<string>} [subFields] Fields to be retrieved as a result for [SUBSERVICES]. If the user passes \\&quot;-\\&quot; as the value for fields, it will retrieve all available fields for each catalog subservices.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateCatalog(\n      id: string,\n      fields?: Array<string>,\n      subFields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesLocateCatalogResponse> {\n      return CatalogsApiFp(configuration)\n        .locateCatalog(id, fields, subFields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update an existing catalog\n     * @param {string} id ID of the catalog to be updated\n     * @param {WebitelCasesInputCatalog} input Input data for updating the catalog\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateCatalog(\n      id: string,\n      input: WebitelCasesInputCatalog,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesCatalog> {\n      return CatalogsApiFp(configuration)\n        .updateCatalog(id, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update an existing catalog\n     * @param {string} id ID of the catalog to be updated\n     * @param {WebitelCasesInputCatalog} input Input data for updating the catalog\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateCatalog2(\n      id: string,\n      input: WebitelCasesInputCatalog,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesCatalog> {\n      return CatalogsApiFp(configuration)\n        .updateCatalog2(id, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * CatalogsApi - object-oriented interface\n * @export\n * @class CatalogsApi\n * @extends {BaseAPI}\n */\nexport class CatalogsApi extends BaseAPI {\n  /**\n   *\n   * @summary Create a new catalog\n   * @param {WebitelCasesInputCatalog} input\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CatalogsApi\n   */\n  public createCatalog(\n    input: WebitelCasesInputCatalog,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return CatalogsApiFp(this.configuration)\n      .createCatalog(input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Delete a catalog\n   * @param {Array<string>} id ID of the catalog to be deleted\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CatalogsApi\n   */\n  public deleteCatalog(id: Array<string>, options?: any) {\n    return CatalogsApiFp(this.configuration)\n      .deleteCatalog(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Retrieve a list of catalogs or search catalogs\n   * @param {number} [page] Page number for pagination\n   * @param {number} [size] Number of records per page\n   * @param {Array<string>} [fields] Fields to be retrieved as a result. If the user passes \\&quot;-\\&quot; as the value for fields, it will retrieve all available fields for each catalog.\n   * @param {string} [sort] Sorting options by fields\n   * @param {Array<string>} [id] List of IDs to filter the catalogs\n   * @param {string} [query] Search query string for filtering by name. Supports: - Wildcards (*) for substring matching - Placeholder (?) for single character substitution - Exact match for full names\n   * @param {boolean} [state] Filter by state (true for active, false for inactive)\n   * @param {string} [depth] Filter by the depth of the hierarchy to retrieve services. The depth indicates how many ancestor levels of services will be included for each catalog. - A depth of 0 includes only the direct catalog. - A depth of 1 includes the catalog and its immediate services. - By default the depth is limited by 3,   meaning all nested services and sub-services will be included.\n   * @param {Array<string>} [subFields] Fields to be retrieved as a result for [SUBSERVICES]. If the user passes \\&quot;-\\&quot; as the value for fields, it will retrieve all available fields for each catalog subservices.\n   * @param {boolean} [hasSubservices] Filter catalogs with subservices\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CatalogsApi\n   */\n  public listCatalogs(\n    page?: number,\n    size?: number,\n    fields?: Array<string>,\n    sort?: string,\n    id?: Array<string>,\n    query?: string,\n    state?: boolean,\n    depth?: string,\n    subFields?: Array<string>,\n    hasSubservices?: boolean,\n    options?: any\n  ) {\n    return CatalogsApiFp(this.configuration)\n      .listCatalogs(\n        page,\n        size,\n        fields,\n        sort,\n        id,\n        query,\n        state,\n        depth,\n        subFields,\n        hasSubservices,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Locate a catalog by ID\n   * @param {string} id ID of the catalog to be located\n   * @param {Array<string>} [fields] Fields to be retrieved as a result. If the user passes \\&quot;-\\&quot; as the value for fields, it will retrieve all available fields for each catalog.\n   * @param {Array<string>} [subFields] Fields to be retrieved as a result for [SUBSERVICES]. If the user passes \\&quot;-\\&quot; as the value for fields, it will retrieve all available fields for each catalog subservices.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CatalogsApi\n   */\n  public locateCatalog(\n    id: string,\n    fields?: Array<string>,\n    subFields?: Array<string>,\n    options?: any\n  ) {\n    return CatalogsApiFp(this.configuration)\n      .locateCatalog(id, fields, subFields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update an existing catalog\n   * @param {string} id ID of the catalog to be updated\n   * @param {WebitelCasesInputCatalog} input Input data for updating the catalog\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CatalogsApi\n   */\n  public updateCatalog(\n    id: string,\n    input: WebitelCasesInputCatalog,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return CatalogsApiFp(this.configuration)\n      .updateCatalog(id, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update an existing catalog\n   * @param {string} id ID of the catalog to be updated\n   * @param {WebitelCasesInputCatalog} input Input data for updating the catalog\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CatalogsApi\n   */\n  public updateCatalog2(\n    id: string,\n    input: WebitelCasesInputCatalog,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return CatalogsApiFp(this.configuration)\n      .updateCatalog2(id, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { ApiClassesUpdateClassBody } from '../api'\n// @ts-ignore\nimport { ApiReadClassResponse } from '../api'\n// @ts-ignore\nimport { ApiSearchClassesResponse } from '../api'\n// @ts-ignore\nimport { ApiUpdateClassResponse } from '../api'\n/**\n * ClassesApi - axios parameter creator\n * @export\n */\nexport const ClassesApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {string} id [filter]: obj.id &#x3D; id\n     * @param {string} [domain]\n     * @param {string} [_class] [filter]: like \\&#39;%class%\\&#39;\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readClass: async (\n      id: string,\n      domain?: string,\n      _class?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readClass.'\n        )\n      }\n      const localVarPath = `/objclass/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domain !== undefined) {\n        localVarQueryParameter['domain'] = domain\n      }\n\n      if (_class !== undefined) {\n        localVarQueryParameter['class'] = _class\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} [domain] TO BE REMOVED // bound to session.domain.id\n     * @param {string} [_class] [filter]: like \\&#39;%class%\\&#39;\n     * @param {Array<string>} [fields] int64 id &#x3D; 3;  // [filter]: obj.id &#x3D; id controls  output\n     * @param {Array<string>} [sort] sort: \\&quot;field\\&quot; asc; \\&quot;!field\\&quot; desc\n     * @param {number} [page] page number\n     * @param {number} [size] page size\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchClasses: async (\n      domain?: string,\n      _class?: string,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      page?: number,\n      size?: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/objclass`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domain !== undefined) {\n        localVarQueryParameter['domain'] = domain\n      }\n\n      if (_class !== undefined) {\n        localVarQueryParameter['class'] = _class\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} classId (class::object).id\n     * @param {ApiClassesUpdateClassBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateClass: async (\n      classId: string,\n      body: ApiClassesUpdateClassBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'classId' is not null or undefined\n      if (classId === null || classId === undefined) {\n        throw new RequiredError(\n          'classId',\n          'Required parameter classId was null or undefined when calling updateClass.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateClass.'\n        )\n      }\n      const localVarPath = `/objclass/{class.id}`.replace(\n        `{${'class.id'}}`,\n        encodeURIComponent(String(classId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} classId (class::object).id\n     * @param {ApiClassesUpdateClassBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateClass2: async (\n      classId: string,\n      body: ApiClassesUpdateClassBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'classId' is not null or undefined\n      if (classId === null || classId === undefined) {\n        throw new RequiredError(\n          'classId',\n          'Required parameter classId was null or undefined when calling updateClass2.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateClass2.'\n        )\n      }\n      const localVarPath = `/objclass/{class.id}`.replace(\n        `{${'class.id'}}`,\n        encodeURIComponent(String(classId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * ClassesApi - functional programming interface\n * @export\n */\nexport const ClassesApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @param {string} id [filter]: obj.id &#x3D; id\n     * @param {string} [domain]\n     * @param {string} [_class] [filter]: like \\&#39;%class%\\&#39;\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readClass(\n      id: string,\n      domain?: string,\n      _class?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiReadClassResponse>\n    > {\n      const localVarAxiosArgs = await ClassesApiAxiosParamCreator(\n        configuration\n      ).readClass(id, domain, _class, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} [domain] TO BE REMOVED // bound to session.domain.id\n     * @param {string} [_class] [filter]: like \\&#39;%class%\\&#39;\n     * @param {Array<string>} [fields] int64 id &#x3D; 3;  // [filter]: obj.id &#x3D; id controls  output\n     * @param {Array<string>} [sort] sort: \\&quot;field\\&quot; asc; \\&quot;!field\\&quot; desc\n     * @param {number} [page] page number\n     * @param {number} [size] page size\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchClasses(\n      domain?: string,\n      _class?: string,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      page?: number,\n      size?: number,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiSearchClassesResponse>\n    > {\n      const localVarAxiosArgs = await ClassesApiAxiosParamCreator(\n        configuration\n      ).searchClasses(domain, _class, fields, sort, page, size, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} classId (class::object).id\n     * @param {ApiClassesUpdateClassBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateClass(\n      classId: string,\n      body: ApiClassesUpdateClassBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiUpdateClassResponse>\n    > {\n      const localVarAxiosArgs = await ClassesApiAxiosParamCreator(\n        configuration\n      ).updateClass(classId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} classId (class::object).id\n     * @param {ApiClassesUpdateClassBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateClass2(\n      classId: string,\n      body: ApiClassesUpdateClassBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiUpdateClassResponse>\n    > {\n      const localVarAxiosArgs = await ClassesApiAxiosParamCreator(\n        configuration\n      ).updateClass2(classId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * ClassesApi - factory interface\n * @export\n */\nexport const ClassesApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {string} id [filter]: obj.id &#x3D; id\n     * @param {string} [domain]\n     * @param {string} [_class] [filter]: like \\&#39;%class%\\&#39;\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readClass(\n      id: string,\n      domain?: string,\n      _class?: string,\n      options?: any\n    ): AxiosPromise<ApiReadClassResponse> {\n      return ClassesApiFp(configuration)\n        .readClass(id, domain, _class, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} [domain] TO BE REMOVED // bound to session.domain.id\n     * @param {string} [_class] [filter]: like \\&#39;%class%\\&#39;\n     * @param {Array<string>} [fields] int64 id &#x3D; 3;  // [filter]: obj.id &#x3D; id controls  output\n     * @param {Array<string>} [sort] sort: \\&quot;field\\&quot; asc; \\&quot;!field\\&quot; desc\n     * @param {number} [page] page number\n     * @param {number} [size] page size\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchClasses(\n      domain?: string,\n      _class?: string,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      page?: number,\n      size?: number,\n      options?: any\n    ): AxiosPromise<ApiSearchClassesResponse> {\n      return ClassesApiFp(configuration)\n        .searchClasses(domain, _class, fields, sort, page, size, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} classId (class::object).id\n     * @param {ApiClassesUpdateClassBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateClass(\n      classId: string,\n      body: ApiClassesUpdateClassBody,\n      options?: any\n    ): AxiosPromise<ApiUpdateClassResponse> {\n      return ClassesApiFp(configuration)\n        .updateClass(classId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} classId (class::object).id\n     * @param {ApiClassesUpdateClassBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateClass2(\n      classId: string,\n      body: ApiClassesUpdateClassBody,\n      options?: any\n    ): AxiosPromise<ApiUpdateClassResponse> {\n      return ClassesApiFp(configuration)\n        .updateClass2(classId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * ClassesApi - object-oriented interface\n * @export\n * @class ClassesApi\n * @extends {BaseAPI}\n */\nexport class ClassesApi extends BaseAPI {\n  /**\n   *\n   * @param {string} id [filter]: obj.id &#x3D; id\n   * @param {string} [domain]\n   * @param {string} [_class] [filter]: like \\&#39;%class%\\&#39;\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ClassesApi\n   */\n  public readClass(\n    id: string,\n    domain?: string,\n    _class?: string,\n    options?: any\n  ) {\n    return ClassesApiFp(this.configuration)\n      .readClass(id, domain, _class, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} [domain] TO BE REMOVED // bound to session.domain.id\n   * @param {string} [_class] [filter]: like \\&#39;%class%\\&#39;\n   * @param {Array<string>} [fields] int64 id &#x3D; 3;  // [filter]: obj.id &#x3D; id controls  output\n   * @param {Array<string>} [sort] sort: \\&quot;field\\&quot; asc; \\&quot;!field\\&quot; desc\n   * @param {number} [page] page number\n   * @param {number} [size] page size\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ClassesApi\n   */\n  public searchClasses(\n    domain?: string,\n    _class?: string,\n    fields?: Array<string>,\n    sort?: Array<string>,\n    page?: number,\n    size?: number,\n    options?: any\n  ) {\n    return ClassesApiFp(this.configuration)\n      .searchClasses(domain, _class, fields, sort, page, size, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} classId (class::object).id\n   * @param {ApiClassesUpdateClassBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ClassesApi\n   */\n  public updateClass(\n    classId: string,\n    body: ApiClassesUpdateClassBody,\n    options?: any\n  ) {\n    return ClassesApiFp(this.configuration)\n      .updateClass(classId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} classId (class::object).id\n   * @param {ApiClassesUpdateClassBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ClassesApi\n   */\n  public updateClass2(\n    classId: string,\n    body: ApiClassesUpdateClassBody,\n    options?: any\n  ) {\n    return ClassesApiFp(this.configuration)\n      .updateClass2(classId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n// @ts-ignore\nimport { WebitelCasesCloseReasonGroup } from '../api'\n// @ts-ignore\nimport { WebitelCasesCloseReasonGroupList } from '../api'\n// @ts-ignore\nimport { WebitelCasesInputCloseReasonGroup } from '../api'\n// @ts-ignore\nimport { WebitelCasesLocateCloseReasonGroupResponse } from '../api'\n/**\n * CloseReasonGroupsApi - axios parameter creator\n * @export\n */\nexport const CloseReasonGroupsApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create a new close reason group\n     * @param {WebitelCasesInputCloseReasonGroup} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createCloseReasonGroup: async (\n      input: WebitelCasesInputCloseReasonGroup,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling createCloseReasonGroup.'\n        )\n      }\n      const localVarPath = `/cases/close_reason_groups`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Delete a close reason group\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteCloseReasonGroup: async (\n      id: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteCloseReasonGroup.'\n        )\n      }\n      const localVarPath = `/cases/close_reason_groups/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Retrieve a list of close reason groups or search close reason groups\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {Array<string>} [fields]\n     * @param {string} [sort]\n     * @param {Array<string>} [id]\n     * @param {string} [q]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listCloseReasonGroups: async (\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: string,\n      id?: Array<string>,\n      q?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/cases/close_reason_groups`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Locate a close reason group by ID\n     * @param {string} id\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateCloseReasonGroup: async (\n      id: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling locateCloseReasonGroup.'\n        )\n      }\n      const localVarPath = `/cases/close_reason_groups/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update an existing close reason group\n     * @param {string} id\n     * @param {WebitelCasesInputCloseReasonGroup} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateCloseReasonGroup: async (\n      id: string,\n      input: WebitelCasesInputCloseReasonGroup,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateCloseReasonGroup.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateCloseReasonGroup.'\n        )\n      }\n      const localVarPath = `/cases/close_reason_groups/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update an existing close reason group\n     * @param {string} id\n     * @param {WebitelCasesInputCloseReasonGroup} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateCloseReasonGroup2: async (\n      id: string,\n      input: WebitelCasesInputCloseReasonGroup,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateCloseReasonGroup2.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateCloseReasonGroup2.'\n        )\n      }\n      const localVarPath = `/cases/close_reason_groups/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * CloseReasonGroupsApi - functional programming interface\n * @export\n */\nexport const CloseReasonGroupsApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Create a new close reason group\n     * @param {WebitelCasesInputCloseReasonGroup} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createCloseReasonGroup(\n      input: WebitelCasesInputCloseReasonGroup,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesCloseReasonGroup>\n    > {\n      const localVarAxiosArgs = await CloseReasonGroupsApiAxiosParamCreator(\n        configuration\n      ).createCloseReasonGroup(input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Delete a close reason group\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteCloseReasonGroup(\n      id: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesCloseReasonGroup>\n    > {\n      const localVarAxiosArgs = await CloseReasonGroupsApiAxiosParamCreator(\n        configuration\n      ).deleteCloseReasonGroup(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Retrieve a list of close reason groups or search close reason groups\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {Array<string>} [fields]\n     * @param {string} [sort]\n     * @param {Array<string>} [id]\n     * @param {string} [q]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async listCloseReasonGroups(\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: string,\n      id?: Array<string>,\n      q?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesCloseReasonGroupList>\n    > {\n      const localVarAxiosArgs = await CloseReasonGroupsApiAxiosParamCreator(\n        configuration\n      ).listCloseReasonGroups(page, size, fields, sort, id, q, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Locate a close reason group by ID\n     * @param {string} id\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async locateCloseReasonGroup(\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesLocateCloseReasonGroupResponse>\n    > {\n      const localVarAxiosArgs = await CloseReasonGroupsApiAxiosParamCreator(\n        configuration\n      ).locateCloseReasonGroup(id, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update an existing close reason group\n     * @param {string} id\n     * @param {WebitelCasesInputCloseReasonGroup} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateCloseReasonGroup(\n      id: string,\n      input: WebitelCasesInputCloseReasonGroup,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesCloseReasonGroup>\n    > {\n      const localVarAxiosArgs = await CloseReasonGroupsApiAxiosParamCreator(\n        configuration\n      ).updateCloseReasonGroup(id, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update an existing close reason group\n     * @param {string} id\n     * @param {WebitelCasesInputCloseReasonGroup} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateCloseReasonGroup2(\n      id: string,\n      input: WebitelCasesInputCloseReasonGroup,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesCloseReasonGroup>\n    > {\n      const localVarAxiosArgs = await CloseReasonGroupsApiAxiosParamCreator(\n        configuration\n      ).updateCloseReasonGroup2(id, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * CloseReasonGroupsApi - factory interface\n * @export\n */\nexport const CloseReasonGroupsApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Create a new close reason group\n     * @param {WebitelCasesInputCloseReasonGroup} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createCloseReasonGroup(\n      input: WebitelCasesInputCloseReasonGroup,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesCloseReasonGroup> {\n      return CloseReasonGroupsApiFp(configuration)\n        .createCloseReasonGroup(input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Delete a close reason group\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteCloseReasonGroup(\n      id: string,\n      options?: any\n    ): AxiosPromise<WebitelCasesCloseReasonGroup> {\n      return CloseReasonGroupsApiFp(configuration)\n        .deleteCloseReasonGroup(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Retrieve a list of close reason groups or search close reason groups\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {Array<string>} [fields]\n     * @param {string} [sort]\n     * @param {Array<string>} [id]\n     * @param {string} [q]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listCloseReasonGroups(\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: string,\n      id?: Array<string>,\n      q?: string,\n      options?: any\n    ): AxiosPromise<WebitelCasesCloseReasonGroupList> {\n      return CloseReasonGroupsApiFp(configuration)\n        .listCloseReasonGroups(page, size, fields, sort, id, q, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Locate a close reason group by ID\n     * @param {string} id\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateCloseReasonGroup(\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesLocateCloseReasonGroupResponse> {\n      return CloseReasonGroupsApiFp(configuration)\n        .locateCloseReasonGroup(id, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update an existing close reason group\n     * @param {string} id\n     * @param {WebitelCasesInputCloseReasonGroup} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateCloseReasonGroup(\n      id: string,\n      input: WebitelCasesInputCloseReasonGroup,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesCloseReasonGroup> {\n      return CloseReasonGroupsApiFp(configuration)\n        .updateCloseReasonGroup(id, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update an existing close reason group\n     * @param {string} id\n     * @param {WebitelCasesInputCloseReasonGroup} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateCloseReasonGroup2(\n      id: string,\n      input: WebitelCasesInputCloseReasonGroup,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesCloseReasonGroup> {\n      return CloseReasonGroupsApiFp(configuration)\n        .updateCloseReasonGroup2(id, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * CloseReasonGroupsApi - object-oriented interface\n * @export\n * @class CloseReasonGroupsApi\n * @extends {BaseAPI}\n */\nexport class CloseReasonGroupsApi extends BaseAPI {\n  /**\n   *\n   * @summary Create a new close reason group\n   * @param {WebitelCasesInputCloseReasonGroup} input\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CloseReasonGroupsApi\n   */\n  public createCloseReasonGroup(\n    input: WebitelCasesInputCloseReasonGroup,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return CloseReasonGroupsApiFp(this.configuration)\n      .createCloseReasonGroup(input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Delete a close reason group\n   * @param {string} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CloseReasonGroupsApi\n   */\n  public deleteCloseReasonGroup(id: string, options?: any) {\n    return CloseReasonGroupsApiFp(this.configuration)\n      .deleteCloseReasonGroup(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Retrieve a list of close reason groups or search close reason groups\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {Array<string>} [fields]\n   * @param {string} [sort]\n   * @param {Array<string>} [id]\n   * @param {string} [q]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CloseReasonGroupsApi\n   */\n  public listCloseReasonGroups(\n    page?: number,\n    size?: number,\n    fields?: Array<string>,\n    sort?: string,\n    id?: Array<string>,\n    q?: string,\n    options?: any\n  ) {\n    return CloseReasonGroupsApiFp(this.configuration)\n      .listCloseReasonGroups(page, size, fields, sort, id, q, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Locate a close reason group by ID\n   * @param {string} id\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CloseReasonGroupsApi\n   */\n  public locateCloseReasonGroup(\n    id: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return CloseReasonGroupsApiFp(this.configuration)\n      .locateCloseReasonGroup(id, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update an existing close reason group\n   * @param {string} id\n   * @param {WebitelCasesInputCloseReasonGroup} input\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CloseReasonGroupsApi\n   */\n  public updateCloseReasonGroup(\n    id: string,\n    input: WebitelCasesInputCloseReasonGroup,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return CloseReasonGroupsApiFp(this.configuration)\n      .updateCloseReasonGroup(id, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update an existing close reason group\n   * @param {string} id\n   * @param {WebitelCasesInputCloseReasonGroup} input\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CloseReasonGroupsApi\n   */\n  public updateCloseReasonGroup2(\n    id: string,\n    input: WebitelCasesInputCloseReasonGroup,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return CloseReasonGroupsApiFp(this.configuration)\n      .updateCloseReasonGroup2(id, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n// @ts-ignore\nimport { WebitelCasesCloseReason } from '../api'\n// @ts-ignore\nimport { WebitelCasesCloseReasonList } from '../api'\n// @ts-ignore\nimport { WebitelCasesInputCloseReason } from '../api'\n// @ts-ignore\nimport { WebitelCasesLocateCloseReasonResponse } from '../api'\n/**\n * CloseReasonsApi - axios parameter creator\n * @export\n */\nexport const CloseReasonsApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create a new close reason\n     * @param {string} closeReasonGroupId\n     * @param {WebitelCasesInputCloseReason} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createCloseReason: async (\n      closeReasonGroupId: string,\n      input: WebitelCasesInputCloseReason,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'closeReasonGroupId' is not null or undefined\n      if (closeReasonGroupId === null || closeReasonGroupId === undefined) {\n        throw new RequiredError(\n          'closeReasonGroupId',\n          'Required parameter closeReasonGroupId was null or undefined when calling createCloseReason.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling createCloseReason.'\n        )\n      }\n      const localVarPath = `/close_reason_groups/{close_reason_group_id}/close_reasons`.replace(\n        `{${'close_reason_group_id'}}`,\n        encodeURIComponent(String(closeReasonGroupId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Delete a close reason\n     * @param {string} closeReasonGroupId\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteCloseReason: async (\n      closeReasonGroupId: string,\n      id: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'closeReasonGroupId' is not null or undefined\n      if (closeReasonGroupId === null || closeReasonGroupId === undefined) {\n        throw new RequiredError(\n          'closeReasonGroupId',\n          'Required parameter closeReasonGroupId was null or undefined when calling deleteCloseReason.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteCloseReason.'\n        )\n      }\n      const localVarPath = `/close_reason_groups/{close_reason_group_id}/close_reasons/{id}`\n        .replace(\n          `{${'close_reason_group_id'}}`,\n          encodeURIComponent(String(closeReasonGroupId))\n        )\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Retrieve a list of close reasons or search close reasons\n     * @param {string} closeReasonGroupId Close reason group ID filter\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {string} [sort] Sort the result according to fields.\n     * @param {Array<string>} [id]\n     * @param {string} [q] Search query string for filtering by name. Supports: - Wildcards (*) for substring matching - Placeholder (?) for single character substitution - Exact match for full names\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listCloseReasons: async (\n      closeReasonGroupId: string,\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: string,\n      id?: Array<string>,\n      q?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'closeReasonGroupId' is not null or undefined\n      if (closeReasonGroupId === null || closeReasonGroupId === undefined) {\n        throw new RequiredError(\n          'closeReasonGroupId',\n          'Required parameter closeReasonGroupId was null or undefined when calling listCloseReasons.'\n        )\n      }\n      const localVarPath = `/close_reason_groups/{close_reason_group_id}/close_reasons`.replace(\n        `{${'close_reason_group_id'}}`,\n        encodeURIComponent(String(closeReasonGroupId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Locate a close reason by ID\n     * @param {string} closeReasonGroupId\n     * @param {string} id\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateCloseReason: async (\n      closeReasonGroupId: string,\n      id: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'closeReasonGroupId' is not null or undefined\n      if (closeReasonGroupId === null || closeReasonGroupId === undefined) {\n        throw new RequiredError(\n          'closeReasonGroupId',\n          'Required parameter closeReasonGroupId was null or undefined when calling locateCloseReason.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling locateCloseReason.'\n        )\n      }\n      const localVarPath = `/close_reason_groups/{close_reason_group_id}/close_reasons/{id}`\n        .replace(\n          `{${'close_reason_group_id'}}`,\n          encodeURIComponent(String(closeReasonGroupId))\n        )\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update an existing close reason\n     * @param {string} closeReasonGroupId\n     * @param {string} id\n     * @param {WebitelCasesInputCloseReason} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateCloseReason: async (\n      closeReasonGroupId: string,\n      id: string,\n      input: WebitelCasesInputCloseReason,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'closeReasonGroupId' is not null or undefined\n      if (closeReasonGroupId === null || closeReasonGroupId === undefined) {\n        throw new RequiredError(\n          'closeReasonGroupId',\n          'Required parameter closeReasonGroupId was null or undefined when calling updateCloseReason.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateCloseReason.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateCloseReason.'\n        )\n      }\n      const localVarPath = `/close_reason_groups/{close_reason_group_id}/close_reasons/{id}`\n        .replace(\n          `{${'close_reason_group_id'}}`,\n          encodeURIComponent(String(closeReasonGroupId))\n        )\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update an existing close reason\n     * @param {string} closeReasonGroupId\n     * @param {string} id\n     * @param {WebitelCasesInputCloseReason} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateCloseReason2: async (\n      closeReasonGroupId: string,\n      id: string,\n      input: WebitelCasesInputCloseReason,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'closeReasonGroupId' is not null or undefined\n      if (closeReasonGroupId === null || closeReasonGroupId === undefined) {\n        throw new RequiredError(\n          'closeReasonGroupId',\n          'Required parameter closeReasonGroupId was null or undefined when calling updateCloseReason2.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateCloseReason2.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateCloseReason2.'\n        )\n      }\n      const localVarPath = `/close_reason_groups/{close_reason_group_id}/close_reasons/{id}`\n        .replace(\n          `{${'close_reason_group_id'}}`,\n          encodeURIComponent(String(closeReasonGroupId))\n        )\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * CloseReasonsApi - functional programming interface\n * @export\n */\nexport const CloseReasonsApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Create a new close reason\n     * @param {string} closeReasonGroupId\n     * @param {WebitelCasesInputCloseReason} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createCloseReason(\n      closeReasonGroupId: string,\n      input: WebitelCasesInputCloseReason,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesCloseReason>\n    > {\n      const localVarAxiosArgs = await CloseReasonsApiAxiosParamCreator(\n        configuration\n      ).createCloseReason(closeReasonGroupId, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Delete a close reason\n     * @param {string} closeReasonGroupId\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteCloseReason(\n      closeReasonGroupId: string,\n      id: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesCloseReason>\n    > {\n      const localVarAxiosArgs = await CloseReasonsApiAxiosParamCreator(\n        configuration\n      ).deleteCloseReason(closeReasonGroupId, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Retrieve a list of close reasons or search close reasons\n     * @param {string} closeReasonGroupId Close reason group ID filter\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {string} [sort] Sort the result according to fields.\n     * @param {Array<string>} [id]\n     * @param {string} [q] Search query string for filtering by name. Supports: - Wildcards (*) for substring matching - Placeholder (?) for single character substitution - Exact match for full names\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async listCloseReasons(\n      closeReasonGroupId: string,\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: string,\n      id?: Array<string>,\n      q?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesCloseReasonList>\n    > {\n      const localVarAxiosArgs = await CloseReasonsApiAxiosParamCreator(\n        configuration\n      ).listCloseReasons(\n        closeReasonGroupId,\n        page,\n        size,\n        fields,\n        sort,\n        id,\n        q,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Locate a close reason by ID\n     * @param {string} closeReasonGroupId\n     * @param {string} id\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async locateCloseReason(\n      closeReasonGroupId: string,\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesLocateCloseReasonResponse>\n    > {\n      const localVarAxiosArgs = await CloseReasonsApiAxiosParamCreator(\n        configuration\n      ).locateCloseReason(closeReasonGroupId, id, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update an existing close reason\n     * @param {string} closeReasonGroupId\n     * @param {string} id\n     * @param {WebitelCasesInputCloseReason} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateCloseReason(\n      closeReasonGroupId: string,\n      id: string,\n      input: WebitelCasesInputCloseReason,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesCloseReason>\n    > {\n      const localVarAxiosArgs = await CloseReasonsApiAxiosParamCreator(\n        configuration\n      ).updateCloseReason(closeReasonGroupId, id, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update an existing close reason\n     * @param {string} closeReasonGroupId\n     * @param {string} id\n     * @param {WebitelCasesInputCloseReason} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateCloseReason2(\n      closeReasonGroupId: string,\n      id: string,\n      input: WebitelCasesInputCloseReason,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesCloseReason>\n    > {\n      const localVarAxiosArgs = await CloseReasonsApiAxiosParamCreator(\n        configuration\n      ).updateCloseReason2(closeReasonGroupId, id, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * CloseReasonsApi - factory interface\n * @export\n */\nexport const CloseReasonsApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Create a new close reason\n     * @param {string} closeReasonGroupId\n     * @param {WebitelCasesInputCloseReason} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createCloseReason(\n      closeReasonGroupId: string,\n      input: WebitelCasesInputCloseReason,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesCloseReason> {\n      return CloseReasonsApiFp(configuration)\n        .createCloseReason(closeReasonGroupId, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Delete a close reason\n     * @param {string} closeReasonGroupId\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteCloseReason(\n      closeReasonGroupId: string,\n      id: string,\n      options?: any\n    ): AxiosPromise<WebitelCasesCloseReason> {\n      return CloseReasonsApiFp(configuration)\n        .deleteCloseReason(closeReasonGroupId, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Retrieve a list of close reasons or search close reasons\n     * @param {string} closeReasonGroupId Close reason group ID filter\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {string} [sort] Sort the result according to fields.\n     * @param {Array<string>} [id]\n     * @param {string} [q] Search query string for filtering by name. Supports: - Wildcards (*) for substring matching - Placeholder (?) for single character substitution - Exact match for full names\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listCloseReasons(\n      closeReasonGroupId: string,\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: string,\n      id?: Array<string>,\n      q?: string,\n      options?: any\n    ): AxiosPromise<WebitelCasesCloseReasonList> {\n      return CloseReasonsApiFp(configuration)\n        .listCloseReasons(\n          closeReasonGroupId,\n          page,\n          size,\n          fields,\n          sort,\n          id,\n          q,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Locate a close reason by ID\n     * @param {string} closeReasonGroupId\n     * @param {string} id\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateCloseReason(\n      closeReasonGroupId: string,\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesLocateCloseReasonResponse> {\n      return CloseReasonsApiFp(configuration)\n        .locateCloseReason(closeReasonGroupId, id, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update an existing close reason\n     * @param {string} closeReasonGroupId\n     * @param {string} id\n     * @param {WebitelCasesInputCloseReason} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateCloseReason(\n      closeReasonGroupId: string,\n      id: string,\n      input: WebitelCasesInputCloseReason,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesCloseReason> {\n      return CloseReasonsApiFp(configuration)\n        .updateCloseReason(closeReasonGroupId, id, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update an existing close reason\n     * @param {string} closeReasonGroupId\n     * @param {string} id\n     * @param {WebitelCasesInputCloseReason} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateCloseReason2(\n      closeReasonGroupId: string,\n      id: string,\n      input: WebitelCasesInputCloseReason,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesCloseReason> {\n      return CloseReasonsApiFp(configuration)\n        .updateCloseReason2(closeReasonGroupId, id, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * CloseReasonsApi - object-oriented interface\n * @export\n * @class CloseReasonsApi\n * @extends {BaseAPI}\n */\nexport class CloseReasonsApi extends BaseAPI {\n  /**\n   *\n   * @summary Create a new close reason\n   * @param {string} closeReasonGroupId\n   * @param {WebitelCasesInputCloseReason} input\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CloseReasonsApi\n   */\n  public createCloseReason(\n    closeReasonGroupId: string,\n    input: WebitelCasesInputCloseReason,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return CloseReasonsApiFp(this.configuration)\n      .createCloseReason(closeReasonGroupId, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Delete a close reason\n   * @param {string} closeReasonGroupId\n   * @param {string} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CloseReasonsApi\n   */\n  public deleteCloseReason(\n    closeReasonGroupId: string,\n    id: string,\n    options?: any\n  ) {\n    return CloseReasonsApiFp(this.configuration)\n      .deleteCloseReason(closeReasonGroupId, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Retrieve a list of close reasons or search close reasons\n   * @param {string} closeReasonGroupId Close reason group ID filter\n   * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n   * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {string} [sort] Sort the result according to fields.\n   * @param {Array<string>} [id]\n   * @param {string} [q] Search query string for filtering by name. Supports: - Wildcards (*) for substring matching - Placeholder (?) for single character substitution - Exact match for full names\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CloseReasonsApi\n   */\n  public listCloseReasons(\n    closeReasonGroupId: string,\n    page?: number,\n    size?: number,\n    fields?: Array<string>,\n    sort?: string,\n    id?: Array<string>,\n    q?: string,\n    options?: any\n  ) {\n    return CloseReasonsApiFp(this.configuration)\n      .listCloseReasons(\n        closeReasonGroupId,\n        page,\n        size,\n        fields,\n        sort,\n        id,\n        q,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Locate a close reason by ID\n   * @param {string} closeReasonGroupId\n   * @param {string} id\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CloseReasonsApi\n   */\n  public locateCloseReason(\n    closeReasonGroupId: string,\n    id: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return CloseReasonsApiFp(this.configuration)\n      .locateCloseReason(closeReasonGroupId, id, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update an existing close reason\n   * @param {string} closeReasonGroupId\n   * @param {string} id\n   * @param {WebitelCasesInputCloseReason} input\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CloseReasonsApi\n   */\n  public updateCloseReason(\n    closeReasonGroupId: string,\n    id: string,\n    input: WebitelCasesInputCloseReason,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return CloseReasonsApiFp(this.configuration)\n      .updateCloseReason(closeReasonGroupId, id, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update an existing close reason\n   * @param {string} closeReasonGroupId\n   * @param {string} id\n   * @param {WebitelCasesInputCloseReason} input\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CloseReasonsApi\n   */\n  public updateCloseReason2(\n    closeReasonGroupId: string,\n    id: string,\n    input: WebitelCasesInputCloseReason,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return CloseReasonsApiFp(this.configuration)\n      .updateCloseReason2(closeReasonGroupId, id, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { GrpcGatewayRuntimeError } from '../api'\n// @ts-ignore\nimport { StorageCognitiveProfile } from '../api'\n// @ts-ignore\nimport { StorageCreateCognitiveProfileRequest } from '../api'\n// @ts-ignore\nimport { StorageListCognitiveProfile } from '../api'\n// @ts-ignore\nimport { StorageListCognitiveProfileVoices } from '../api'\n// @ts-ignore\nimport { StoragePatchCognitiveProfileRequest } from '../api'\n// @ts-ignore\nimport { StorageUpdateCognitiveProfileRequest } from '../api'\n/**\n * CognitiveProfileServiceApi - axios parameter creator\n * @export\n */\nexport const CognitiveProfileServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {StorageCreateCognitiveProfileRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createCognitiveProfile: async (\n      body: StorageCreateCognitiveProfileRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createCognitiveProfile.'\n        )\n      }\n      const localVarPath = `/storage/cognitive_profiles`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Remove BackendProfile\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteCognitiveProfile: async (\n      id: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteCognitiveProfile.'\n        )\n      }\n      const localVarPath = `/storage/cognitive_profiles/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {StoragePatchCognitiveProfileRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchCognitiveProfile: async (\n      id: string,\n      body: StoragePatchCognitiveProfileRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling patchCognitiveProfile.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling patchCognitiveProfile.'\n        )\n      }\n      const localVarPath = `/storage/cognitive_profiles/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readCognitiveProfile: async (\n      id: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readCognitiveProfile.'\n        )\n      }\n      const localVarPath = `/storage/cognitive_profiles/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [id]\n     * @param {Array<'DefaultService' | 'STT' | 'TTS'>} [service]\n     * @param {boolean} [enabled]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchCognitiveProfile: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<string>,\n      service?: Array<'DefaultService' | 'STT' | 'TTS'>,\n      enabled?: boolean,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/storage/cognitive_profiles`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (service) {\n        localVarQueryParameter['service'] = service\n      }\n\n      if (enabled !== undefined) {\n        localVarQueryParameter['enabled'] = enabled\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Search Voices\n     * @param {string} id\n     * @param {string} [q]\n     * @param {string} [key]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchCognitiveProfileVoices: async (\n      id: string,\n      q?: string,\n      key?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling searchCognitiveProfileVoices.'\n        )\n      }\n      const localVarPath = `/storage/cognitive_profiles/{id}/voice`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (key !== undefined) {\n        localVarQueryParameter['key'] = key\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {StorageUpdateCognitiveProfileRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateCognitiveProfile: async (\n      id: string,\n      body: StorageUpdateCognitiveProfileRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateCognitiveProfile.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateCognitiveProfile.'\n        )\n      }\n      const localVarPath = `/storage/cognitive_profiles/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * CognitiveProfileServiceApi - functional programming interface\n * @export\n */\nexport const CognitiveProfileServiceApiFp = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {StorageCreateCognitiveProfileRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createCognitiveProfile(\n      body: StorageCreateCognitiveProfileRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<StorageCognitiveProfile>\n    > {\n      const localVarAxiosArgs = await CognitiveProfileServiceApiAxiosParamCreator(\n        configuration\n      ).createCognitiveProfile(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Remove BackendProfile\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteCognitiveProfile(\n      id: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<StorageCognitiveProfile>\n    > {\n      const localVarAxiosArgs = await CognitiveProfileServiceApiAxiosParamCreator(\n        configuration\n      ).deleteCognitiveProfile(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {StoragePatchCognitiveProfileRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async patchCognitiveProfile(\n      id: string,\n      body: StoragePatchCognitiveProfileRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<StorageCognitiveProfile>\n    > {\n      const localVarAxiosArgs = await CognitiveProfileServiceApiAxiosParamCreator(\n        configuration\n      ).patchCognitiveProfile(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readCognitiveProfile(\n      id: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<StorageCognitiveProfile>\n    > {\n      const localVarAxiosArgs = await CognitiveProfileServiceApiAxiosParamCreator(\n        configuration\n      ).readCognitiveProfile(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [id]\n     * @param {Array<'DefaultService' | 'STT' | 'TTS'>} [service]\n     * @param {boolean} [enabled]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchCognitiveProfile(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<string>,\n      service?: Array<'DefaultService' | 'STT' | 'TTS'>,\n      enabled?: boolean,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<StorageListCognitiveProfile>\n    > {\n      const localVarAxiosArgs = await CognitiveProfileServiceApiAxiosParamCreator(\n        configuration\n      ).searchCognitiveProfile(\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        service,\n        enabled,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Search Voices\n     * @param {string} id\n     * @param {string} [q]\n     * @param {string} [key]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchCognitiveProfileVoices(\n      id: string,\n      q?: string,\n      key?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<StorageListCognitiveProfileVoices>\n    > {\n      const localVarAxiosArgs = await CognitiveProfileServiceApiAxiosParamCreator(\n        configuration\n      ).searchCognitiveProfileVoices(id, q, key, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {StorageUpdateCognitiveProfileRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateCognitiveProfile(\n      id: string,\n      body: StorageUpdateCognitiveProfileRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<StorageCognitiveProfile>\n    > {\n      const localVarAxiosArgs = await CognitiveProfileServiceApiAxiosParamCreator(\n        configuration\n      ).updateCognitiveProfile(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * CognitiveProfileServiceApi - factory interface\n * @export\n */\nexport const CognitiveProfileServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {StorageCreateCognitiveProfileRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createCognitiveProfile(\n      body: StorageCreateCognitiveProfileRequest,\n      options?: any\n    ): AxiosPromise<StorageCognitiveProfile> {\n      return CognitiveProfileServiceApiFp(configuration)\n        .createCognitiveProfile(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Remove BackendProfile\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteCognitiveProfile(\n      id: string,\n      options?: any\n    ): AxiosPromise<StorageCognitiveProfile> {\n      return CognitiveProfileServiceApiFp(configuration)\n        .deleteCognitiveProfile(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {StoragePatchCognitiveProfileRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchCognitiveProfile(\n      id: string,\n      body: StoragePatchCognitiveProfileRequest,\n      options?: any\n    ): AxiosPromise<StorageCognitiveProfile> {\n      return CognitiveProfileServiceApiFp(configuration)\n        .patchCognitiveProfile(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readCognitiveProfile(\n      id: string,\n      options?: any\n    ): AxiosPromise<StorageCognitiveProfile> {\n      return CognitiveProfileServiceApiFp(configuration)\n        .readCognitiveProfile(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [id]\n     * @param {Array<'DefaultService' | 'STT' | 'TTS'>} [service]\n     * @param {boolean} [enabled]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchCognitiveProfile(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<string>,\n      service?: Array<'DefaultService' | 'STT' | 'TTS'>,\n      enabled?: boolean,\n      options?: any\n    ): AxiosPromise<StorageListCognitiveProfile> {\n      return CognitiveProfileServiceApiFp(configuration)\n        .searchCognitiveProfile(\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          id,\n          service,\n          enabled,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Search Voices\n     * @param {string} id\n     * @param {string} [q]\n     * @param {string} [key]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchCognitiveProfileVoices(\n      id: string,\n      q?: string,\n      key?: string,\n      options?: any\n    ): AxiosPromise<StorageListCognitiveProfileVoices> {\n      return CognitiveProfileServiceApiFp(configuration)\n        .searchCognitiveProfileVoices(id, q, key, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {StorageUpdateCognitiveProfileRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateCognitiveProfile(\n      id: string,\n      body: StorageUpdateCognitiveProfileRequest,\n      options?: any\n    ): AxiosPromise<StorageCognitiveProfile> {\n      return CognitiveProfileServiceApiFp(configuration)\n        .updateCognitiveProfile(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * CognitiveProfileServiceApi - object-oriented interface\n * @export\n * @class CognitiveProfileServiceApi\n * @extends {BaseAPI}\n */\nexport class CognitiveProfileServiceApi extends BaseAPI {\n  /**\n   *\n   * @param {StorageCreateCognitiveProfileRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CognitiveProfileServiceApi\n   */\n  public createCognitiveProfile(\n    body: StorageCreateCognitiveProfileRequest,\n    options?: any\n  ) {\n    return CognitiveProfileServiceApiFp(this.configuration)\n      .createCognitiveProfile(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Remove BackendProfile\n   * @param {string} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CognitiveProfileServiceApi\n   */\n  public deleteCognitiveProfile(id: string, options?: any) {\n    return CognitiveProfileServiceApiFp(this.configuration)\n      .deleteCognitiveProfile(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {StoragePatchCognitiveProfileRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CognitiveProfileServiceApi\n   */\n  public patchCognitiveProfile(\n    id: string,\n    body: StoragePatchCognitiveProfileRequest,\n    options?: any\n  ) {\n    return CognitiveProfileServiceApiFp(this.configuration)\n      .patchCognitiveProfile(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CognitiveProfileServiceApi\n   */\n  public readCognitiveProfile(id: string, options?: any) {\n    return CognitiveProfileServiceApiFp(this.configuration)\n      .readCognitiveProfile(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<string>} [id]\n   * @param {Array<'DefaultService' | 'STT' | 'TTS'>} [service]\n   * @param {boolean} [enabled]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CognitiveProfileServiceApi\n   */\n  public searchCognitiveProfile(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<string>,\n    service?: Array<'DefaultService' | 'STT' | 'TTS'>,\n    enabled?: boolean,\n    options?: any\n  ) {\n    return CognitiveProfileServiceApiFp(this.configuration)\n      .searchCognitiveProfile(\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        service,\n        enabled,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Search Voices\n   * @param {string} id\n   * @param {string} [q]\n   * @param {string} [key]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CognitiveProfileServiceApi\n   */\n  public searchCognitiveProfileVoices(\n    id: string,\n    q?: string,\n    key?: string,\n    options?: any\n  ) {\n    return CognitiveProfileServiceApiFp(this.configuration)\n      .searchCognitiveProfileVoices(id, q, key, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {StorageUpdateCognitiveProfileRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CognitiveProfileServiceApi\n   */\n  public updateCognitiveProfile(\n    id: string,\n    body: StorageUpdateCognitiveProfileRequest,\n    options?: any\n  ) {\n    return CognitiveProfileServiceApiFp(this.configuration)\n      .updateCognitiveProfile(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { EngineCommunicationType } from '../api'\n// @ts-ignore\nimport { EngineCommunicationTypeRequest } from '../api'\n// @ts-ignore\nimport { EngineCommunicationTypeServicePatchCommunicationTypeBody } from '../api'\n// @ts-ignore\nimport { EngineCommunicationTypeServiceUpdateCommunicationTypeBody } from '../api'\n// @ts-ignore\nimport { EngineListCommunicationType } from '../api'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n/**\n * CommunicationTypeServiceApi - axios parameter creator\n * @export\n */\nexport const CommunicationTypeServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create CommunicationType\n     * @param {EngineCommunicationTypeRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createCommunicationType: async (\n      body: EngineCommunicationTypeRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createCommunicationType.'\n        )\n      }\n      const localVarPath = `/call_center/communication_type`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Remove CommunicationType\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteCommunicationType: async (\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteCommunicationType.'\n        )\n      }\n      const localVarPath = `/call_center/communication_type/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineCommunicationTypeServicePatchCommunicationTypeBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchCommunicationType: async (\n      id: string,\n      body: EngineCommunicationTypeServicePatchCommunicationTypeBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling patchCommunicationType.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling patchCommunicationType.'\n        )\n      }\n      const localVarPath = `/call_center/communication_type/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary CommunicationType item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readCommunicationType: async (\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readCommunicationType.'\n        )\n      }\n      const localVarPath = `/call_center/communication_type/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary List of CommunicationType\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {Array<'Undefined' | 'Phone' | 'Email' | 'Messaging'>} [channel]\n     * @param {boolean} [_default]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchCommunicationType: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      channel?: Array<'Undefined' | 'Phone' | 'Email' | 'Messaging'>,\n      _default?: boolean,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/call_center/communication_type`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (channel) {\n        localVarQueryParameter['channel'] = channel\n      }\n\n      if (_default !== undefined) {\n        localVarQueryParameter['default'] = _default\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update CommunicationType\n     * @param {string} id\n     * @param {EngineCommunicationTypeServiceUpdateCommunicationTypeBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateCommunicationType: async (\n      id: string,\n      body: EngineCommunicationTypeServiceUpdateCommunicationTypeBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateCommunicationType.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateCommunicationType.'\n        )\n      }\n      const localVarPath = `/call_center/communication_type/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * CommunicationTypeServiceApi - functional programming interface\n * @export\n */\nexport const CommunicationTypeServiceApiFp = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create CommunicationType\n     * @param {EngineCommunicationTypeRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createCommunicationType(\n      body: EngineCommunicationTypeRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineCommunicationType>\n    > {\n      const localVarAxiosArgs = await CommunicationTypeServiceApiAxiosParamCreator(\n        configuration\n      ).createCommunicationType(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Remove CommunicationType\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteCommunicationType(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineCommunicationType>\n    > {\n      const localVarAxiosArgs = await CommunicationTypeServiceApiAxiosParamCreator(\n        configuration\n      ).deleteCommunicationType(id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineCommunicationTypeServicePatchCommunicationTypeBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async patchCommunicationType(\n      id: string,\n      body: EngineCommunicationTypeServicePatchCommunicationTypeBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineCommunicationType>\n    > {\n      const localVarAxiosArgs = await CommunicationTypeServiceApiAxiosParamCreator(\n        configuration\n      ).patchCommunicationType(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary CommunicationType item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readCommunicationType(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineCommunicationType>\n    > {\n      const localVarAxiosArgs = await CommunicationTypeServiceApiAxiosParamCreator(\n        configuration\n      ).readCommunicationType(id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary List of CommunicationType\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {Array<'Undefined' | 'Phone' | 'Email' | 'Messaging'>} [channel]\n     * @param {boolean} [_default]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchCommunicationType(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      channel?: Array<'Undefined' | 'Phone' | 'Email' | 'Messaging'>,\n      _default?: boolean,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListCommunicationType>\n    > {\n      const localVarAxiosArgs = await CommunicationTypeServiceApiAxiosParamCreator(\n        configuration\n      ).searchCommunicationType(\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        channel,\n        _default,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update CommunicationType\n     * @param {string} id\n     * @param {EngineCommunicationTypeServiceUpdateCommunicationTypeBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateCommunicationType(\n      id: string,\n      body: EngineCommunicationTypeServiceUpdateCommunicationTypeBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineCommunicationType>\n    > {\n      const localVarAxiosArgs = await CommunicationTypeServiceApiAxiosParamCreator(\n        configuration\n      ).updateCommunicationType(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * CommunicationTypeServiceApi - factory interface\n * @export\n */\nexport const CommunicationTypeServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Create CommunicationType\n     * @param {EngineCommunicationTypeRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createCommunicationType(\n      body: EngineCommunicationTypeRequest,\n      options?: any\n    ): AxiosPromise<EngineCommunicationType> {\n      return CommunicationTypeServiceApiFp(configuration)\n        .createCommunicationType(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Remove CommunicationType\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteCommunicationType(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineCommunicationType> {\n      return CommunicationTypeServiceApiFp(configuration)\n        .deleteCommunicationType(id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineCommunicationTypeServicePatchCommunicationTypeBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchCommunicationType(\n      id: string,\n      body: EngineCommunicationTypeServicePatchCommunicationTypeBody,\n      options?: any\n    ): AxiosPromise<EngineCommunicationType> {\n      return CommunicationTypeServiceApiFp(configuration)\n        .patchCommunicationType(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary CommunicationType item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readCommunicationType(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineCommunicationType> {\n      return CommunicationTypeServiceApiFp(configuration)\n        .readCommunicationType(id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary List of CommunicationType\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {Array<'Undefined' | 'Phone' | 'Email' | 'Messaging'>} [channel]\n     * @param {boolean} [_default]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchCommunicationType(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      channel?: Array<'Undefined' | 'Phone' | 'Email' | 'Messaging'>,\n      _default?: boolean,\n      options?: any\n    ): AxiosPromise<EngineListCommunicationType> {\n      return CommunicationTypeServiceApiFp(configuration)\n        .searchCommunicationType(\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          id,\n          channel,\n          _default,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update CommunicationType\n     * @param {string} id\n     * @param {EngineCommunicationTypeServiceUpdateCommunicationTypeBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateCommunicationType(\n      id: string,\n      body: EngineCommunicationTypeServiceUpdateCommunicationTypeBody,\n      options?: any\n    ): AxiosPromise<EngineCommunicationType> {\n      return CommunicationTypeServiceApiFp(configuration)\n        .updateCommunicationType(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * CommunicationTypeServiceApi - object-oriented interface\n * @export\n * @class CommunicationTypeServiceApi\n * @extends {BaseAPI}\n */\nexport class CommunicationTypeServiceApi extends BaseAPI {\n  /**\n   *\n   * @summary Create CommunicationType\n   * @param {EngineCommunicationTypeRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CommunicationTypeServiceApi\n   */\n  public createCommunicationType(\n    body: EngineCommunicationTypeRequest,\n    options?: any\n  ) {\n    return CommunicationTypeServiceApiFp(this.configuration)\n      .createCommunicationType(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Remove CommunicationType\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CommunicationTypeServiceApi\n   */\n  public deleteCommunicationType(id: string, domainId?: string, options?: any) {\n    return CommunicationTypeServiceApiFp(this.configuration)\n      .deleteCommunicationType(id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {EngineCommunicationTypeServicePatchCommunicationTypeBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CommunicationTypeServiceApi\n   */\n  public patchCommunicationType(\n    id: string,\n    body: EngineCommunicationTypeServicePatchCommunicationTypeBody,\n    options?: any\n  ) {\n    return CommunicationTypeServiceApiFp(this.configuration)\n      .patchCommunicationType(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary CommunicationType item\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CommunicationTypeServiceApi\n   */\n  public readCommunicationType(id: string, domainId?: string, options?: any) {\n    return CommunicationTypeServiceApiFp(this.configuration)\n      .readCommunicationType(id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary List of CommunicationType\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<number>} [id]\n   * @param {Array<'Undefined' | 'Phone' | 'Email' | 'Messaging'>} [channel]\n   * @param {boolean} [_default]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CommunicationTypeServiceApi\n   */\n  public searchCommunicationType(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<number>,\n    channel?: Array<'Undefined' | 'Phone' | 'Email' | 'Messaging'>,\n    _default?: boolean,\n    options?: any\n  ) {\n    return CommunicationTypeServiceApiFp(this.configuration)\n      .searchCommunicationType(\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        channel,\n        _default,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update CommunicationType\n   * @param {string} id\n   * @param {EngineCommunicationTypeServiceUpdateCommunicationTypeBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CommunicationTypeServiceApi\n   */\n  public updateCommunicationType(\n    id: string,\n    body: EngineCommunicationTypeServiceUpdateCommunicationTypeBody,\n    options?: any\n  ) {\n    return CommunicationTypeServiceApiFp(this.configuration)\n      .updateCommunicationType(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { ConfigServicePatchConfigBody } from '../api'\n// @ts-ignore\nimport { ConfigServiceUpdateConfigBody } from '../api'\n// @ts-ignore\nimport { LoggerConfig } from '../api'\n// @ts-ignore\nimport { LoggerConfigs } from '../api'\n// @ts-ignore\nimport { LoggerCreateConfigRequest } from '../api'\n// @ts-ignore\nimport { LoggerSystemObjects } from '../api'\n// @ts-ignore\nimport { RpcStatus } from '../api'\n/**\n * ConfigServiceApi - axios parameter creator\n * @export\n */\nexport const ConfigServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {LoggerCreateConfigRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createConfig: async (\n      body: LoggerCreateConfigRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createConfig.'\n        )\n      }\n      const localVarPath = `/logger/config`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} configId\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteConfig: async (\n      configId: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'configId' is not null or undefined\n      if (configId === null || configId === undefined) {\n        throw new RequiredError(\n          'configId',\n          'Required parameter configId was null or undefined when calling deleteConfig.'\n        )\n      }\n      const localVarPath = `/logger/config/{config_id}`.replace(\n        `{${'config_id'}}`,\n        encodeURIComponent(String(configId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} configId\n     * @param {ConfigServicePatchConfigBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchConfig: async (\n      configId: number,\n      body: ConfigServicePatchConfigBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'configId' is not null or undefined\n      if (configId === null || configId === undefined) {\n        throw new RequiredError(\n          'configId',\n          'Required parameter configId was null or undefined when calling patchConfig.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling patchConfig.'\n        )\n      }\n      const localVarPath = `/logger/config/{config_id}`.replace(\n        `{${'config_id'}}`,\n        encodeURIComponent(String(configId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} configId int32 domainId &#x3D; 8;\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readConfig: async (\n      configId: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'configId' is not null or undefined\n      if (configId === null || configId === undefined) {\n        throw new RequiredError(\n          'configId',\n          'Required parameter configId was null or undefined when calling readConfig.'\n        )\n      }\n      const localVarPath = `/logger/config/{config_id}`.replace(\n        `{${'config_id'}}`,\n        encodeURIComponent(String(configId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {boolean} [includeExisting]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readSystemObjects: async (\n      includeExisting?: boolean,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/logger/available_objects`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (includeExisting !== undefined) {\n        localVarQueryParameter['include_existing'] = includeExisting\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<'cc_queue' | 'schema' | 'users' | 'devices' | 'calendars' | 'cc_list' | 'cc_team' | 'cc_agent' | 'cc_resource' | 'cc_resource_group' | 'chat_bots' | 'cases' | 'contacts' | 'cc_list_number' | 'case_comments' | 'record_file'>} [object] NOT USED\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchConfig: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      object?: Array<\n        | 'cc_queue'\n        | 'schema'\n        | 'users'\n        | 'devices'\n        | 'calendars'\n        | 'cc_list'\n        | 'cc_team'\n        | 'cc_agent'\n        | 'cc_resource'\n        | 'cc_resource_group'\n        | 'chat_bots'\n        | 'cases'\n        | 'contacts'\n        | 'cc_list_number'\n        | 'case_comments'\n        | 'record_file'\n      >,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/logger/config`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (object) {\n        localVarQueryParameter['object'] = object\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} configId\n     * @param {ConfigServiceUpdateConfigBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateConfig: async (\n      configId: number,\n      body: ConfigServiceUpdateConfigBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'configId' is not null or undefined\n      if (configId === null || configId === undefined) {\n        throw new RequiredError(\n          'configId',\n          'Required parameter configId was null or undefined when calling updateConfig.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateConfig.'\n        )\n      }\n      const localVarPath = `/logger/config/{config_id}`.replace(\n        `{${'config_id'}}`,\n        encodeURIComponent(String(configId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * ConfigServiceApi - functional programming interface\n * @export\n */\nexport const ConfigServiceApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @param {LoggerCreateConfigRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createConfig(\n      body: LoggerCreateConfigRequest,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<LoggerConfig>\n    > {\n      const localVarAxiosArgs = await ConfigServiceApiAxiosParamCreator(\n        configuration\n      ).createConfig(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} configId\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteConfig(\n      configId: number,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>\n    > {\n      const localVarAxiosArgs = await ConfigServiceApiAxiosParamCreator(\n        configuration\n      ).deleteConfig(configId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} configId\n     * @param {ConfigServicePatchConfigBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async patchConfig(\n      configId: number,\n      body: ConfigServicePatchConfigBody,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<LoggerConfig>\n    > {\n      const localVarAxiosArgs = await ConfigServiceApiAxiosParamCreator(\n        configuration\n      ).patchConfig(configId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} configId int32 domainId &#x3D; 8;\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readConfig(\n      configId: number,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<LoggerConfig>\n    > {\n      const localVarAxiosArgs = await ConfigServiceApiAxiosParamCreator(\n        configuration\n      ).readConfig(configId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {boolean} [includeExisting]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readSystemObjects(\n      includeExisting?: boolean,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<LoggerSystemObjects>\n    > {\n      const localVarAxiosArgs = await ConfigServiceApiAxiosParamCreator(\n        configuration\n      ).readSystemObjects(includeExisting, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<'cc_queue' | 'schema' | 'users' | 'devices' | 'calendars' | 'cc_list' | 'cc_team' | 'cc_agent' | 'cc_resource' | 'cc_resource_group' | 'chat_bots' | 'cases' | 'contacts' | 'cc_list_number' | 'case_comments' | 'record_file'>} [object] NOT USED\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchConfig(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      object?: Array<\n        | 'cc_queue'\n        | 'schema'\n        | 'users'\n        | 'devices'\n        | 'calendars'\n        | 'cc_list'\n        | 'cc_team'\n        | 'cc_agent'\n        | 'cc_resource'\n        | 'cc_resource_group'\n        | 'chat_bots'\n        | 'cases'\n        | 'contacts'\n        | 'cc_list_number'\n        | 'case_comments'\n        | 'record_file'\n      >,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<LoggerConfigs>\n    > {\n      const localVarAxiosArgs = await ConfigServiceApiAxiosParamCreator(\n        configuration\n      ).searchConfig(page, size, q, sort, fields, object, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} configId\n     * @param {ConfigServiceUpdateConfigBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateConfig(\n      configId: number,\n      body: ConfigServiceUpdateConfigBody,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<LoggerConfig>\n    > {\n      const localVarAxiosArgs = await ConfigServiceApiAxiosParamCreator(\n        configuration\n      ).updateConfig(configId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * ConfigServiceApi - factory interface\n * @export\n */\nexport const ConfigServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {LoggerCreateConfigRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createConfig(\n      body: LoggerCreateConfigRequest,\n      options?: any\n    ): AxiosPromise<LoggerConfig> {\n      return ConfigServiceApiFp(configuration)\n        .createConfig(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} configId\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteConfig(configId: number, options?: any): AxiosPromise<object> {\n      return ConfigServiceApiFp(configuration)\n        .deleteConfig(configId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} configId\n     * @param {ConfigServicePatchConfigBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchConfig(\n      configId: number,\n      body: ConfigServicePatchConfigBody,\n      options?: any\n    ): AxiosPromise<LoggerConfig> {\n      return ConfigServiceApiFp(configuration)\n        .patchConfig(configId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} configId int32 domainId &#x3D; 8;\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readConfig(configId: number, options?: any): AxiosPromise<LoggerConfig> {\n      return ConfigServiceApiFp(configuration)\n        .readConfig(configId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {boolean} [includeExisting]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readSystemObjects(\n      includeExisting?: boolean,\n      options?: any\n    ): AxiosPromise<LoggerSystemObjects> {\n      return ConfigServiceApiFp(configuration)\n        .readSystemObjects(includeExisting, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<'cc_queue' | 'schema' | 'users' | 'devices' | 'calendars' | 'cc_list' | 'cc_team' | 'cc_agent' | 'cc_resource' | 'cc_resource_group' | 'chat_bots' | 'cases' | 'contacts' | 'cc_list_number' | 'case_comments' | 'record_file'>} [object] NOT USED\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchConfig(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      object?: Array<\n        | 'cc_queue'\n        | 'schema'\n        | 'users'\n        | 'devices'\n        | 'calendars'\n        | 'cc_list'\n        | 'cc_team'\n        | 'cc_agent'\n        | 'cc_resource'\n        | 'cc_resource_group'\n        | 'chat_bots'\n        | 'cases'\n        | 'contacts'\n        | 'cc_list_number'\n        | 'case_comments'\n        | 'record_file'\n      >,\n      options?: any\n    ): AxiosPromise<LoggerConfigs> {\n      return ConfigServiceApiFp(configuration)\n        .searchConfig(page, size, q, sort, fields, object, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} configId\n     * @param {ConfigServiceUpdateConfigBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateConfig(\n      configId: number,\n      body: ConfigServiceUpdateConfigBody,\n      options?: any\n    ): AxiosPromise<LoggerConfig> {\n      return ConfigServiceApiFp(configuration)\n        .updateConfig(configId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * ConfigServiceApi - object-oriented interface\n * @export\n * @class ConfigServiceApi\n * @extends {BaseAPI}\n */\nexport class ConfigServiceApi extends BaseAPI {\n  /**\n   *\n   * @param {LoggerCreateConfigRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ConfigServiceApi\n   */\n  public createConfig(body: LoggerCreateConfigRequest, options?: any) {\n    return ConfigServiceApiFp(this.configuration)\n      .createConfig(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} configId\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ConfigServiceApi\n   */\n  public deleteConfig(configId: number, options?: any) {\n    return ConfigServiceApiFp(this.configuration)\n      .deleteConfig(configId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} configId\n   * @param {ConfigServicePatchConfigBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ConfigServiceApi\n   */\n  public patchConfig(\n    configId: number,\n    body: ConfigServicePatchConfigBody,\n    options?: any\n  ) {\n    return ConfigServiceApiFp(this.configuration)\n      .patchConfig(configId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} configId int32 domainId &#x3D; 8;\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ConfigServiceApi\n   */\n  public readConfig(configId: number, options?: any) {\n    return ConfigServiceApiFp(this.configuration)\n      .readConfig(configId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {boolean} [includeExisting]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ConfigServiceApi\n   */\n  public readSystemObjects(includeExisting?: boolean, options?: any) {\n    return ConfigServiceApiFp(this.configuration)\n      .readSystemObjects(includeExisting, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<'cc_queue' | 'schema' | 'users' | 'devices' | 'calendars' | 'cc_list' | 'cc_team' | 'cc_agent' | 'cc_resource' | 'cc_resource_group' | 'chat_bots' | 'cases' | 'contacts' | 'cc_list_number' | 'case_comments' | 'record_file'>} [object] NOT USED\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ConfigServiceApi\n   */\n  public searchConfig(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    object?: Array<\n      | 'cc_queue'\n      | 'schema'\n      | 'users'\n      | 'devices'\n      | 'calendars'\n      | 'cc_list'\n      | 'cc_team'\n      | 'cc_agent'\n      | 'cc_resource'\n      | 'cc_resource_group'\n      | 'chat_bots'\n      | 'cases'\n      | 'contacts'\n      | 'cc_list_number'\n      | 'case_comments'\n      | 'record_file'\n    >,\n    options?: any\n  ) {\n    return ConfigServiceApiFp(this.configuration)\n      .searchConfig(page, size, q, sort, fields, object, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} configId\n   * @param {ConfigServiceUpdateConfigBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ConfigServiceApi\n   */\n  public updateConfig(\n    configId: number,\n    body: ConfigServiceUpdateConfigBody,\n    options?: any\n  ) {\n    return ConfigServiceApiFp(this.configuration)\n      .updateConfig(configId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { NEWUpdateOfTheGroupLink } from '../api'\n// @ts-ignore\nimport { NEWUpdateOfTheGroupLink1 } from '../api'\n// @ts-ignore\nimport { WebitelContactsContactGroup } from '../api'\n// @ts-ignore\nimport { WebitelContactsContactGroupList } from '../api'\n// @ts-ignore\nimport { WebitelContactsInputContactGroup } from '../api'\n/**\n * ContactGroupsApi - axios parameter creator\n * @export\n */\nexport const ContactGroupsApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Remove the Contact\\'s group association.\n     * @param {string} contactId Contact ID associated with.\n     * @param {string} etag Unique ID to remove.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteContactGroup: async (\n      contactId: string,\n      etag: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling deleteContactGroup.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling deleteContactGroup.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/groups/{etag}`\n        .replace(`{${'contact_id'}}`, encodeURIComponent(String(contactId)))\n        .replace(`{${'etag'}}`, encodeURIComponent(String(etag)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Remove the Contact\\'s group(s).\n     * @param {string} contactId Contact ID associated with.\n     * @param {Array<string>} etag Set of unique ID(s) to remove.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteContactGroups: async (\n      contactId: string,\n      etag: Array<string>,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling deleteContactGroups.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling deleteContactGroups.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/groups`.replace(\n        `{${'contact_id'}}`,\n        encodeURIComponent(String(contactId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (etag) {\n        localVarQueryParameter['etag'] = etag\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary List of the Contact\\'s group(s).\n     * @param {string} contactId Contact ID associated with.\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {string} [query] Search term: group name; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {Array<string>} [id] Record(s) with unique ID only.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listContactGroups: async (\n      contactId: string,\n      page?: number,\n      size?: number,\n      query?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling listContactGroups.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/groups`.replace(\n        `{${'contact_id'}}`,\n        encodeURIComponent(String(contactId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (query !== undefined) {\n        localVarQueryParameter['query'] = query\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Locate the Contact\\'s group association.\n     * @param {string} contactId Contact source ID.\n     * @param {string} etag Unique group link IDentifier. Accept: &#x60;etag&#x60; (obsolete+) or &#x60;id&#x60;.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateContactGroup: async (\n      contactId: string,\n      etag: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling locateContactGroup.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling locateContactGroup.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/groups/{etag}`\n        .replace(`{${'contact_id'}}`, encodeURIComponent(String(contactId)))\n        .replace(`{${'etag'}}`, encodeURIComponent(String(etag)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Associate more group(s) with the Contact.\n     * @param {string} contactId Link contact ID.\n     * @param {Array<WebitelContactsInputContactGroup>} input Array of the unique User(s) to associate with the Contact. Any duplicate of an already linked user{id} will result in an error.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    mergeContactGroups: async (\n      contactId: string,\n      input: Array<WebitelContactsInputContactGroup>,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling mergeContactGroups.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling mergeContactGroups.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/groups`.replace(\n        `{${'contact_id'}}`,\n        encodeURIComponent(String(contactId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Resets all groups of the contact according to the input dataset.\n     * @param {string} contactId Link contact ID.\n     * @param {Array<WebitelContactsInputContactGroup>} input Final set of group(s) to be linked with the contact. Group(s) that are already linked with the contact but not given in here will be removed.\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    resetContactGroups: async (\n      contactId: string,\n      input: Array<WebitelContactsInputContactGroup>,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling resetContactGroups.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling resetContactGroups.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/groups`.replace(\n        `{${'contact_id'}}`,\n        encodeURIComponent(String(contactId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update the Contact\\'s group details.\n     * @param {string} contactId Link contact ID.\n     * @param {string} etag Unique ID of the latest version of an existing resource.\n     * @param {NEWUpdateOfTheGroupLink} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateContactGroup: async (\n      contactId: string,\n      etag: string,\n      input: NEWUpdateOfTheGroupLink,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling updateContactGroup.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling updateContactGroup.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateContactGroup.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/groups/{etag}`\n        .replace(`{${'contact_id'}}`, encodeURIComponent(String(contactId)))\n        .replace(`{${'etag'}}`, encodeURIComponent(String(etag)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update the Contact\\'s group details.\n     * @param {string} contactId Link contact ID.\n     * @param {string} etag Unique ID of the latest version of an existing resource.\n     * @param {NEWUpdateOfTheGroupLink1} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateContactGroup2: async (\n      contactId: string,\n      etag: string,\n      input: NEWUpdateOfTheGroupLink1,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling updateContactGroup2.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling updateContactGroup2.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateContactGroup2.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/groups/{etag}`\n        .replace(`{${'contact_id'}}`, encodeURIComponent(String(contactId)))\n        .replace(`{${'etag'}}`, encodeURIComponent(String(etag)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * ContactGroupsApi - functional programming interface\n * @export\n */\nexport const ContactGroupsApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Remove the Contact\\'s group association.\n     * @param {string} contactId Contact ID associated with.\n     * @param {string} etag Unique ID to remove.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteContactGroup(\n      contactId: string,\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsContactGroup>\n    > {\n      const localVarAxiosArgs = await ContactGroupsApiAxiosParamCreator(\n        configuration\n      ).deleteContactGroup(contactId, etag, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Remove the Contact\\'s group(s).\n     * @param {string} contactId Contact ID associated with.\n     * @param {Array<string>} etag Set of unique ID(s) to remove.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteContactGroups(\n      contactId: string,\n      etag: Array<string>,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsContactGroupList>\n    > {\n      const localVarAxiosArgs = await ContactGroupsApiAxiosParamCreator(\n        configuration\n      ).deleteContactGroups(contactId, etag, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary List of the Contact\\'s group(s).\n     * @param {string} contactId Contact ID associated with.\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {string} [query] Search term: group name; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {Array<string>} [id] Record(s) with unique ID only.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async listContactGroups(\n      contactId: string,\n      page?: number,\n      size?: number,\n      query?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsContactGroupList>\n    > {\n      const localVarAxiosArgs = await ContactGroupsApiAxiosParamCreator(\n        configuration\n      ).listContactGroups(\n        contactId,\n        page,\n        size,\n        query,\n        sort,\n        fields,\n        id,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Locate the Contact\\'s group association.\n     * @param {string} contactId Contact source ID.\n     * @param {string} etag Unique group link IDentifier. Accept: &#x60;etag&#x60; (obsolete+) or &#x60;id&#x60;.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async locateContactGroup(\n      contactId: string,\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsContactGroup>\n    > {\n      const localVarAxiosArgs = await ContactGroupsApiAxiosParamCreator(\n        configuration\n      ).locateContactGroup(contactId, etag, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Associate more group(s) with the Contact.\n     * @param {string} contactId Link contact ID.\n     * @param {Array<WebitelContactsInputContactGroup>} input Array of the unique User(s) to associate with the Contact. Any duplicate of an already linked user{id} will result in an error.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async mergeContactGroups(\n      contactId: string,\n      input: Array<WebitelContactsInputContactGroup>,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsContactGroupList>\n    > {\n      const localVarAxiosArgs = await ContactGroupsApiAxiosParamCreator(\n        configuration\n      ).mergeContactGroups(contactId, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Resets all groups of the contact according to the input dataset.\n     * @param {string} contactId Link contact ID.\n     * @param {Array<WebitelContactsInputContactGroup>} input Final set of group(s) to be linked with the contact. Group(s) that are already linked with the contact but not given in here will be removed.\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async resetContactGroups(\n      contactId: string,\n      input: Array<WebitelContactsInputContactGroup>,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsContactGroupList>\n    > {\n      const localVarAxiosArgs = await ContactGroupsApiAxiosParamCreator(\n        configuration\n      ).resetContactGroups(contactId, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update the Contact\\'s group details.\n     * @param {string} contactId Link contact ID.\n     * @param {string} etag Unique ID of the latest version of an existing resource.\n     * @param {NEWUpdateOfTheGroupLink} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateContactGroup(\n      contactId: string,\n      etag: string,\n      input: NEWUpdateOfTheGroupLink,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsContactGroupList>\n    > {\n      const localVarAxiosArgs = await ContactGroupsApiAxiosParamCreator(\n        configuration\n      ).updateContactGroup(contactId, etag, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update the Contact\\'s group details.\n     * @param {string} contactId Link contact ID.\n     * @param {string} etag Unique ID of the latest version of an existing resource.\n     * @param {NEWUpdateOfTheGroupLink1} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateContactGroup2(\n      contactId: string,\n      etag: string,\n      input: NEWUpdateOfTheGroupLink1,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsContactGroupList>\n    > {\n      const localVarAxiosArgs = await ContactGroupsApiAxiosParamCreator(\n        configuration\n      ).updateContactGroup2(contactId, etag, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * ContactGroupsApi - factory interface\n * @export\n */\nexport const ContactGroupsApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Remove the Contact\\'s group association.\n     * @param {string} contactId Contact ID associated with.\n     * @param {string} etag Unique ID to remove.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteContactGroup(\n      contactId: string,\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsContactGroup> {\n      return ContactGroupsApiFp(configuration)\n        .deleteContactGroup(contactId, etag, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Remove the Contact\\'s group(s).\n     * @param {string} contactId Contact ID associated with.\n     * @param {Array<string>} etag Set of unique ID(s) to remove.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteContactGroups(\n      contactId: string,\n      etag: Array<string>,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsContactGroupList> {\n      return ContactGroupsApiFp(configuration)\n        .deleteContactGroups(contactId, etag, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary List of the Contact\\'s group(s).\n     * @param {string} contactId Contact ID associated with.\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {string} [query] Search term: group name; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {Array<string>} [id] Record(s) with unique ID only.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listContactGroups(\n      contactId: string,\n      page?: number,\n      size?: number,\n      query?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsContactGroupList> {\n      return ContactGroupsApiFp(configuration)\n        .listContactGroups(\n          contactId,\n          page,\n          size,\n          query,\n          sort,\n          fields,\n          id,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Locate the Contact\\'s group association.\n     * @param {string} contactId Contact source ID.\n     * @param {string} etag Unique group link IDentifier. Accept: &#x60;etag&#x60; (obsolete+) or &#x60;id&#x60;.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateContactGroup(\n      contactId: string,\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsContactGroup> {\n      return ContactGroupsApiFp(configuration)\n        .locateContactGroup(contactId, etag, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Associate more group(s) with the Contact.\n     * @param {string} contactId Link contact ID.\n     * @param {Array<WebitelContactsInputContactGroup>} input Array of the unique User(s) to associate with the Contact. Any duplicate of an already linked user{id} will result in an error.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    mergeContactGroups(\n      contactId: string,\n      input: Array<WebitelContactsInputContactGroup>,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsContactGroupList> {\n      return ContactGroupsApiFp(configuration)\n        .mergeContactGroups(contactId, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Resets all groups of the contact according to the input dataset.\n     * @param {string} contactId Link contact ID.\n     * @param {Array<WebitelContactsInputContactGroup>} input Final set of group(s) to be linked with the contact. Group(s) that are already linked with the contact but not given in here will be removed.\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    resetContactGroups(\n      contactId: string,\n      input: Array<WebitelContactsInputContactGroup>,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsContactGroupList> {\n      return ContactGroupsApiFp(configuration)\n        .resetContactGroups(contactId, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update the Contact\\'s group details.\n     * @param {string} contactId Link contact ID.\n     * @param {string} etag Unique ID of the latest version of an existing resource.\n     * @param {NEWUpdateOfTheGroupLink} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateContactGroup(\n      contactId: string,\n      etag: string,\n      input: NEWUpdateOfTheGroupLink,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsContactGroupList> {\n      return ContactGroupsApiFp(configuration)\n        .updateContactGroup(contactId, etag, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update the Contact\\'s group details.\n     * @param {string} contactId Link contact ID.\n     * @param {string} etag Unique ID of the latest version of an existing resource.\n     * @param {NEWUpdateOfTheGroupLink1} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateContactGroup2(\n      contactId: string,\n      etag: string,\n      input: NEWUpdateOfTheGroupLink1,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsContactGroupList> {\n      return ContactGroupsApiFp(configuration)\n        .updateContactGroup2(contactId, etag, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * ContactGroupsApi - object-oriented interface\n * @export\n * @class ContactGroupsApi\n * @extends {BaseAPI}\n */\nexport class ContactGroupsApi extends BaseAPI {\n  /**\n   *\n   * @summary Remove the Contact\\'s group association.\n   * @param {string} contactId Contact ID associated with.\n   * @param {string} etag Unique ID to remove.\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ContactGroupsApi\n   */\n  public deleteContactGroup(\n    contactId: string,\n    etag: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return ContactGroupsApiFp(this.configuration)\n      .deleteContactGroup(contactId, etag, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Remove the Contact\\'s group(s).\n   * @param {string} contactId Contact ID associated with.\n   * @param {Array<string>} etag Set of unique ID(s) to remove.\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ContactGroupsApi\n   */\n  public deleteContactGroups(\n    contactId: string,\n    etag: Array<string>,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return ContactGroupsApiFp(this.configuration)\n      .deleteContactGroups(contactId, etag, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary List of the Contact\\'s group(s).\n   * @param {string} contactId Contact ID associated with.\n   * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n   * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n   * @param {string} [query] Search term: group name; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n   * @param {Array<string>} [sort] Sort the result according to fields.\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {Array<string>} [id] Record(s) with unique ID only.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ContactGroupsApi\n   */\n  public listContactGroups(\n    contactId: string,\n    page?: number,\n    size?: number,\n    query?: string,\n    sort?: Array<string>,\n    fields?: Array<string>,\n    id?: Array<string>,\n    options?: any\n  ) {\n    return ContactGroupsApiFp(this.configuration)\n      .listContactGroups(\n        contactId,\n        page,\n        size,\n        query,\n        sort,\n        fields,\n        id,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Locate the Contact\\'s group association.\n   * @param {string} contactId Contact source ID.\n   * @param {string} etag Unique group link IDentifier. Accept: &#x60;etag&#x60; (obsolete+) or &#x60;id&#x60;.\n   * @param {Array<string>} [fields] Fields to be retrieved into result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ContactGroupsApi\n   */\n  public locateContactGroup(\n    contactId: string,\n    etag: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return ContactGroupsApiFp(this.configuration)\n      .locateContactGroup(contactId, etag, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Associate more group(s) with the Contact.\n   * @param {string} contactId Link contact ID.\n   * @param {Array<WebitelContactsInputContactGroup>} input Array of the unique User(s) to associate with the Contact. Any duplicate of an already linked user{id} will result in an error.\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ContactGroupsApi\n   */\n  public mergeContactGroups(\n    contactId: string,\n    input: Array<WebitelContactsInputContactGroup>,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return ContactGroupsApiFp(this.configuration)\n      .mergeContactGroups(contactId, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Resets all groups of the contact according to the input dataset.\n   * @param {string} contactId Link contact ID.\n   * @param {Array<WebitelContactsInputContactGroup>} input Final set of group(s) to be linked with the contact. Group(s) that are already linked with the contact but not given in here will be removed.\n   * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ContactGroupsApi\n   */\n  public resetContactGroups(\n    contactId: string,\n    input: Array<WebitelContactsInputContactGroup>,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return ContactGroupsApiFp(this.configuration)\n      .resetContactGroups(contactId, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update the Contact\\'s group details.\n   * @param {string} contactId Link contact ID.\n   * @param {string} etag Unique ID of the latest version of an existing resource.\n   * @param {NEWUpdateOfTheGroupLink} input\n   * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ContactGroupsApi\n   */\n  public updateContactGroup(\n    contactId: string,\n    etag: string,\n    input: NEWUpdateOfTheGroupLink,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return ContactGroupsApiFp(this.configuration)\n      .updateContactGroup(contactId, etag, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update the Contact\\'s group details.\n   * @param {string} contactId Link contact ID.\n   * @param {string} etag Unique ID of the latest version of an existing resource.\n   * @param {NEWUpdateOfTheGroupLink1} input\n   * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ContactGroupsApi\n   */\n  public updateContactGroup2(\n    contactId: string,\n    etag: string,\n    input: NEWUpdateOfTheGroupLink1,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return ContactGroupsApiFp(this.configuration)\n      .updateContactGroup2(contactId, etag, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { WebitelChatLookup } from '../api'\n/**\n * ContactLinkingServiceApi - axios parameter creator\n * @export\n */\nexport const ContactLinkingServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary CreateContactFromConversation creates new contact from the data existing in the conversation and after that links this contact to the external user.\n     * @param {string} conversationId\n     * @param {string} [timezoneId]\n     * @param {string} [timezoneName]\n     * @param {string} [ownerId]\n     * @param {string} [ownerName]\n     * @param {Array<string>} [label]\n     * @param {string} [name]\n     * @param {string} [description]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createContactFromConversation: async (\n      conversationId: string,\n      timezoneId?: string,\n      timezoneName?: string,\n      ownerId?: string,\n      ownerName?: string,\n      label?: Array<string>,\n      name?: string,\n      description?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'conversationId' is not null or undefined\n      if (conversationId === null || conversationId === undefined) {\n        throw new RequiredError(\n          'conversationId',\n          'Required parameter conversationId was null or undefined when calling createContactFromConversation.'\n        )\n      }\n      const localVarPath = `/chat/{conversation_id}/contact`.replace(\n        `{${'conversation_id'}}`,\n        encodeURIComponent(String(conversationId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (timezoneId !== undefined) {\n        localVarQueryParameter['timezone.id'] = timezoneId\n      }\n\n      if (timezoneName !== undefined) {\n        localVarQueryParameter['timezone.name'] = timezoneName\n      }\n\n      if (ownerId !== undefined) {\n        localVarQueryParameter['owner.id'] = ownerId\n      }\n\n      if (ownerName !== undefined) {\n        localVarQueryParameter['owner.name'] = ownerName\n      }\n\n      if (label) {\n        localVarQueryParameter['label'] = label\n      }\n\n      if (name !== undefined) {\n        localVarQueryParameter['name'] = name\n      }\n\n      if (description !== undefined) {\n        localVarQueryParameter['description'] = description\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary LinkContactToClient creates connection between existing internal contact and external client.\n     * @param {string} conversationId\n     * @param {string} [contactId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    linkContactToClient: async (\n      conversationId: string,\n      contactId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'conversationId' is not null or undefined\n      if (conversationId === null || conversationId === undefined) {\n        throw new RequiredError(\n          'conversationId',\n          'Required parameter conversationId was null or undefined when calling linkContactToClient.'\n        )\n      }\n      const localVarPath = `/chat/{conversation_id}/link`.replace(\n        `{${'conversation_id'}}`,\n        encodeURIComponent(String(conversationId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (contactId !== undefined) {\n        localVarQueryParameter['contact_id'] = contactId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * ContactLinkingServiceApi - functional programming interface\n * @export\n */\nexport const ContactLinkingServiceApiFp = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary CreateContactFromConversation creates new contact from the data existing in the conversation and after that links this contact to the external user.\n     * @param {string} conversationId\n     * @param {string} [timezoneId]\n     * @param {string} [timezoneName]\n     * @param {string} [ownerId]\n     * @param {string} [ownerName]\n     * @param {Array<string>} [label]\n     * @param {string} [name]\n     * @param {string} [description]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createContactFromConversation(\n      conversationId: string,\n      timezoneId?: string,\n      timezoneName?: string,\n      ownerId?: string,\n      ownerName?: string,\n      label?: Array<string>,\n      name?: string,\n      description?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelChatLookup>\n    > {\n      const localVarAxiosArgs = await ContactLinkingServiceApiAxiosParamCreator(\n        configuration\n      ).createContactFromConversation(\n        conversationId,\n        timezoneId,\n        timezoneName,\n        ownerId,\n        ownerName,\n        label,\n        name,\n        description,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary LinkContactToClient creates connection between existing internal contact and external client.\n     * @param {string} conversationId\n     * @param {string} [contactId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async linkContactToClient(\n      conversationId: string,\n      contactId?: string,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>\n    > {\n      const localVarAxiosArgs = await ContactLinkingServiceApiAxiosParamCreator(\n        configuration\n      ).linkContactToClient(conversationId, contactId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * ContactLinkingServiceApi - factory interface\n * @export\n */\nexport const ContactLinkingServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary CreateContactFromConversation creates new contact from the data existing in the conversation and after that links this contact to the external user.\n     * @param {string} conversationId\n     * @param {string} [timezoneId]\n     * @param {string} [timezoneName]\n     * @param {string} [ownerId]\n     * @param {string} [ownerName]\n     * @param {Array<string>} [label]\n     * @param {string} [name]\n     * @param {string} [description]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createContactFromConversation(\n      conversationId: string,\n      timezoneId?: string,\n      timezoneName?: string,\n      ownerId?: string,\n      ownerName?: string,\n      label?: Array<string>,\n      name?: string,\n      description?: string,\n      options?: any\n    ): AxiosPromise<WebitelChatLookup> {\n      return ContactLinkingServiceApiFp(configuration)\n        .createContactFromConversation(\n          conversationId,\n          timezoneId,\n          timezoneName,\n          ownerId,\n          ownerName,\n          label,\n          name,\n          description,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary LinkContactToClient creates connection between existing internal contact and external client.\n     * @param {string} conversationId\n     * @param {string} [contactId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    linkContactToClient(\n      conversationId: string,\n      contactId?: string,\n      options?: any\n    ): AxiosPromise<object> {\n      return ContactLinkingServiceApiFp(configuration)\n        .linkContactToClient(conversationId, contactId, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * ContactLinkingServiceApi - object-oriented interface\n * @export\n * @class ContactLinkingServiceApi\n * @extends {BaseAPI}\n */\nexport class ContactLinkingServiceApi extends BaseAPI {\n  /**\n   *\n   * @summary CreateContactFromConversation creates new contact from the data existing in the conversation and after that links this contact to the external user.\n   * @param {string} conversationId\n   * @param {string} [timezoneId]\n   * @param {string} [timezoneName]\n   * @param {string} [ownerId]\n   * @param {string} [ownerName]\n   * @param {Array<string>} [label]\n   * @param {string} [name]\n   * @param {string} [description]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ContactLinkingServiceApi\n   */\n  public createContactFromConversation(\n    conversationId: string,\n    timezoneId?: string,\n    timezoneName?: string,\n    ownerId?: string,\n    ownerName?: string,\n    label?: Array<string>,\n    name?: string,\n    description?: string,\n    options?: any\n  ) {\n    return ContactLinkingServiceApiFp(this.configuration)\n      .createContactFromConversation(\n        conversationId,\n        timezoneId,\n        timezoneName,\n        ownerId,\n        ownerName,\n        label,\n        name,\n        description,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary LinkContactToClient creates connection between existing internal contact and external client.\n   * @param {string} conversationId\n   * @param {string} [contactId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ContactLinkingServiceApi\n   */\n  public linkContactToClient(\n    conversationId: string,\n    contactId?: string,\n    options?: any\n  ) {\n    return ContactLinkingServiceApiFp(this.configuration)\n      .linkContactToClient(conversationId, contactId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { NEWContactSourceChanges } from '../api'\n// @ts-ignore\nimport { WebitelContactsContact } from '../api'\n// @ts-ignore\nimport { WebitelContactsContactList } from '../api'\n// @ts-ignore\nimport { WebitelContactsInputContact } from '../api'\n/**\n * ContactsApi - axios parameter creator\n * @export\n */\nexport const ContactsApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create NEW Contact\n     * @param {WebitelContactsInputContact} input NEW Contact source changes\n     * @param {Array<string>} [fields] Source Fields to return into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createContact: async (\n      input: WebitelContactsInputContact,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling createContact.'\n        )\n      }\n      const localVarPath = `/contacts`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Remove Contact source\n     * @param {string} etag Unique ID of the latest version of a resource.\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteContact: async (\n      etag: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling deleteContact.'\n        )\n      }\n      const localVarPath = `/contacts/{etag}`.replace(\n        `{${'etag'}}`,\n        encodeURIComponent(String(etag))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Locate Contact source\n     * @param {string} etag The Contact source IDentifier. Accept: &#x60;etag&#x60; (obsolete+) or &#x60;id&#x60;.\n     * @param {Array<string>} [fields] Source Fields to return into result.\n     * @param {'READ' | 'WRITE' | 'DELETE'} [mode] The requirement of a special access mode to the Source.   - READ: Can &#x60;fetch&#x60; record. [GET]  - WRITE: Can &#x60;update&#x60; record. [PUT|PATCH]  - DELETE: Can &#x60;delete&#x60; record. [DELETE]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateContact: async (\n      etag: string,\n      fields?: Array<string>,\n      mode?: 'READ' | 'WRITE' | 'DELETE',\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling locateContact.'\n        )\n      }\n      const localVarPath = `/contacts/{etag}`.replace(\n        `{${'etag'}}`,\n        encodeURIComponent(String(etag))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (mode !== undefined) {\n        localVarQueryParameter['mode'] = mode\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     * | Field       | Type  | ----------- | ----  | **----------- READ-ONLY -----------** |  | `id`        | int64  | `ver`       | int32  | `etag`      | string  | **---------- OPERATIONAL ----------** |  | `created_at` | int64(epoch:milli)  | `created_by` | lookup(user)  | `updated_at` | int64(epoch:milli)  | `updated_by` | lookup(user)  | **---------- ATTRIBUTES -----------** |  | `name`      | name!  | `about`     | string  | `labels`    | list[label!]  | `emails`    | list[email!]  | `photos`    | list[photo!]  | `phones`    | list[phone!]  | `managers`  | list[manager!]  | `comments`  | list[comment!]  | `addresses` | list[address!]  | `languages` | list[language!]  | `timezones` | list[timezone!]  | `variables` | list[variable!]  | `imclients` | list[imClient!]\n     * @summary Search for Contact(s)\n     * @param {number} [page] Page number of result records.   _default(1); offset&#x3D;(size*(page-1));_  &#x60;&#x60;&#x60;javascript let     offset &#x3D; 0   , page &#x3D; req.page ; if (page &lt;&#x3D; 0)     page &#x3D; 1; if (page &gt; 1)     offset &#x3D; ((page-1)*size); // . . . &#x60;&#x60;&#x60;\n     * @param {number} [size] Limit of result page records count.   _default(16); limit&#x3D;(size&lt;&#x3D;0?-1:size+1);_  &#x60;&#x60;&#x60;javascript const     default &#x3D; 16   , maximum &#x3D; 32 ; let limit &#x3D; req.size; if (limit &lt;&#x3D; 0)     limit &#x3D; default; if (maximum &lt; limit)     limit &#x3D; maximum; // . . . &#x60;&#x60;&#x60;\n     * @param {string} [q] Search term: &#x60;?&#x60; - matches any character &#x60;*&#x60; - matches 0 or more characters Used to query records within a set of &#x60;qin&#x60; fields, eg: name,emails{type},labels etc...\n     * @param {Array<string>} [sort] Sort result dataset of records by fields. &#x60;&#x60;&#x60; sort ::&#x3D; *( ORDER name )  ORDER  &#x3D; ASC / DESC DESC   &#x3D; \\&quot;-\\&quot; / \\&quot;!\\&quot; ASC    &#x3D; [ \\&quot;+\\&quot; ]   ; Default &#x60;&#x60;&#x60;  Fields available  - &#x60;id&#x60;(seq) - &#x60;domain&#x60;{name} - &#x60;created_at&#x60; - &#x60;created_by&#x60;{name} - &#x60;updated_at&#x60; - &#x60;updated_by&#x60;{name}  Use ?fields&#x3D;&#x60;field.sort()&#x60; option to sort Edge fields.\n     * @param {Array<string>} [fields] Fields [Q]uery to build result dataset record. &#x60;&#x60;&#x60; fields ::&#x3D; field [ *( \\&quot;,\\&quot; field ) ] field  ::&#x3D; name [ *( func ) ] [ inner ] inner  ::&#x3D; \\&quot;{\\&quot; fields \\&quot;}\\&quot; funcs  ::&#x3D; *( func ) func   ::&#x3D; \\&quot;.\\&quot; name \\&quot;(\\&quot; [ args ] \\&quot;)\\&quot; name   ::&#x3D; ALPHA / DIGIT / USCORE  ALPHA    &#x3D; %x41-5A / %x61-7A  ; \\&quot;A\\&quot;-\\&quot;Z\\&quot; / \\&quot;a\\&quot;-\\&quot;z\\&quot; DIGIT    &#x3D; %x30-39            ; \\&quot;0\\&quot;-\\&quot;9\\&quot; USCORE   &#x3D; %x5F ; underscore  ; \\&quot;_\\&quot; &#x60;&#x60;&#x60;\n     * @param {Array<string>} [id] Records with unique IDentifier(s). Accept: &#x60;id&#x60; -or- &#x60;etag&#x60;.\n     * @param {Array<string>} [qin] [Q]uery[IN] is a set of search fields for term &#x60;q&#x60;. Default: &#x60;name{common_name}&#x60;.\n     * @param {'READ' | 'WRITE' | 'DELETE'} [mode] Source access mode requirement.   - READ: Can &#x60;fetch&#x60; record. [GET]  - WRITE: Can &#x60;update&#x60; record. [PUT|PATCH]  - DELETE: Can &#x60;delete&#x60; record. [DELETE]\n     * @param {string} [notIdGroup] Excludes contacts that belong to the specified group ID. - Filters out contacts associated with the given &#x60;group_id&#x60;.\n     * @param {Array<string>} [group] Filters contacts by the specified group(s). - Includes only contacts that belong to one or more of the given group Group(s).\n     * @param {Array<string>} [owner] Filters contacts by the specified owner(s). - Includes only contacts whose owner matches one or more of the given Owner(s). - The owner ID corresponds to &#x60;contact_id&#x60; in the &#x60;directory.wbt_user&#x60; table.\n     * @param {Array<string>} [label] Filters contacts by the specified label(s). - Includes only contacts that have one or more of the given Label(s).\n     * @param {boolean} [user] Filters contacts based on whether they are user-associated. - &#x60;true&#x60;  → Includes only user-associated contacts. - &#x60;false&#x60; → Includes only contacts that are NOT user-associated. - A contact is considered user-associated if it exists in &#x60;directory.wbt_user&#x60;.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchContacts: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      qin?: Array<string>,\n      mode?: 'READ' | 'WRITE' | 'DELETE',\n      notIdGroup?: string,\n      group?: Array<string>,\n      owner?: Array<string>,\n      label?: Array<string>,\n      user?: boolean,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/contacts`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (qin) {\n        localVarQueryParameter['qin'] = qin\n      }\n\n      if (mode !== undefined) {\n        localVarQueryParameter['mode'] = mode\n      }\n\n      if (notIdGroup !== undefined) {\n        localVarQueryParameter['not_id_group'] = notIdGroup\n      }\n\n      if (group) {\n        localVarQueryParameter['group'] = group\n      }\n\n      if (owner) {\n        localVarQueryParameter['owner'] = owner\n      }\n\n      if (label) {\n        localVarQueryParameter['label'] = label\n      }\n\n      if (user !== undefined) {\n        localVarQueryParameter['user'] = user\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary NEW Update of the Contact source\n     * @param {string} etag Unique ID of the latest version of an existing resorce.\n     * @param {NEWContactSourceChanges} input\n     * @param {Array<string>} [fields] Source Fields to return into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateContact: async (\n      etag: string,\n      input: NEWContactSourceChanges,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling updateContact.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateContact.'\n        )\n      }\n      const localVarPath = `/contacts/{etag}`.replace(\n        `{${'etag'}}`,\n        encodeURIComponent(String(etag))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * ContactsApi - functional programming interface\n * @export\n */\nexport const ContactsApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Create NEW Contact\n     * @param {WebitelContactsInputContact} input NEW Contact source changes\n     * @param {Array<string>} [fields] Source Fields to return into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createContact(\n      input: WebitelContactsInputContact,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsContact>\n    > {\n      const localVarAxiosArgs = await ContactsApiAxiosParamCreator(\n        configuration\n      ).createContact(input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Remove Contact source\n     * @param {string} etag Unique ID of the latest version of a resource.\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteContact(\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsContact>\n    > {\n      const localVarAxiosArgs = await ContactsApiAxiosParamCreator(\n        configuration\n      ).deleteContact(etag, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Locate Contact source\n     * @param {string} etag The Contact source IDentifier. Accept: &#x60;etag&#x60; (obsolete+) or &#x60;id&#x60;.\n     * @param {Array<string>} [fields] Source Fields to return into result.\n     * @param {'READ' | 'WRITE' | 'DELETE'} [mode] The requirement of a special access mode to the Source.   - READ: Can &#x60;fetch&#x60; record. [GET]  - WRITE: Can &#x60;update&#x60; record. [PUT|PATCH]  - DELETE: Can &#x60;delete&#x60; record. [DELETE]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async locateContact(\n      etag: string,\n      fields?: Array<string>,\n      mode?: 'READ' | 'WRITE' | 'DELETE',\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsContact>\n    > {\n      const localVarAxiosArgs = await ContactsApiAxiosParamCreator(\n        configuration\n      ).locateContact(etag, fields, mode, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     * | Field       | Type  | ----------- | ----  | **----------- READ-ONLY -----------** |  | `id`        | int64  | `ver`       | int32  | `etag`      | string  | **---------- OPERATIONAL ----------** |  | `created_at` | int64(epoch:milli)  | `created_by` | lookup(user)  | `updated_at` | int64(epoch:milli)  | `updated_by` | lookup(user)  | **---------- ATTRIBUTES -----------** |  | `name`      | name!  | `about`     | string  | `labels`    | list[label!]  | `emails`    | list[email!]  | `photos`    | list[photo!]  | `phones`    | list[phone!]  | `managers`  | list[manager!]  | `comments`  | list[comment!]  | `addresses` | list[address!]  | `languages` | list[language!]  | `timezones` | list[timezone!]  | `variables` | list[variable!]  | `imclients` | list[imClient!]\n     * @summary Search for Contact(s)\n     * @param {number} [page] Page number of result records.   _default(1); offset&#x3D;(size*(page-1));_  &#x60;&#x60;&#x60;javascript let     offset &#x3D; 0   , page &#x3D; req.page ; if (page &lt;&#x3D; 0)     page &#x3D; 1; if (page &gt; 1)     offset &#x3D; ((page-1)*size); // . . . &#x60;&#x60;&#x60;\n     * @param {number} [size] Limit of result page records count.   _default(16); limit&#x3D;(size&lt;&#x3D;0?-1:size+1);_  &#x60;&#x60;&#x60;javascript const     default &#x3D; 16   , maximum &#x3D; 32 ; let limit &#x3D; req.size; if (limit &lt;&#x3D; 0)     limit &#x3D; default; if (maximum &lt; limit)     limit &#x3D; maximum; // . . . &#x60;&#x60;&#x60;\n     * @param {string} [q] Search term: &#x60;?&#x60; - matches any character &#x60;*&#x60; - matches 0 or more characters Used to query records within a set of &#x60;qin&#x60; fields, eg: name,emails{type},labels etc...\n     * @param {Array<string>} [sort] Sort result dataset of records by fields. &#x60;&#x60;&#x60; sort ::&#x3D; *( ORDER name )  ORDER  &#x3D; ASC / DESC DESC   &#x3D; \\&quot;-\\&quot; / \\&quot;!\\&quot; ASC    &#x3D; [ \\&quot;+\\&quot; ]   ; Default &#x60;&#x60;&#x60;  Fields available  - &#x60;id&#x60;(seq) - &#x60;domain&#x60;{name} - &#x60;created_at&#x60; - &#x60;created_by&#x60;{name} - &#x60;updated_at&#x60; - &#x60;updated_by&#x60;{name}  Use ?fields&#x3D;&#x60;field.sort()&#x60; option to sort Edge fields.\n     * @param {Array<string>} [fields] Fields [Q]uery to build result dataset record. &#x60;&#x60;&#x60; fields ::&#x3D; field [ *( \\&quot;,\\&quot; field ) ] field  ::&#x3D; name [ *( func ) ] [ inner ] inner  ::&#x3D; \\&quot;{\\&quot; fields \\&quot;}\\&quot; funcs  ::&#x3D; *( func ) func   ::&#x3D; \\&quot;.\\&quot; name \\&quot;(\\&quot; [ args ] \\&quot;)\\&quot; name   ::&#x3D; ALPHA / DIGIT / USCORE  ALPHA    &#x3D; %x41-5A / %x61-7A  ; \\&quot;A\\&quot;-\\&quot;Z\\&quot; / \\&quot;a\\&quot;-\\&quot;z\\&quot; DIGIT    &#x3D; %x30-39            ; \\&quot;0\\&quot;-\\&quot;9\\&quot; USCORE   &#x3D; %x5F ; underscore  ; \\&quot;_\\&quot; &#x60;&#x60;&#x60;\n     * @param {Array<string>} [id] Records with unique IDentifier(s). Accept: &#x60;id&#x60; -or- &#x60;etag&#x60;.\n     * @param {Array<string>} [qin] [Q]uery[IN] is a set of search fields for term &#x60;q&#x60;. Default: &#x60;name{common_name}&#x60;.\n     * @param {'READ' | 'WRITE' | 'DELETE'} [mode] Source access mode requirement.   - READ: Can &#x60;fetch&#x60; record. [GET]  - WRITE: Can &#x60;update&#x60; record. [PUT|PATCH]  - DELETE: Can &#x60;delete&#x60; record. [DELETE]\n     * @param {string} [notIdGroup] Excludes contacts that belong to the specified group ID. - Filters out contacts associated with the given &#x60;group_id&#x60;.\n     * @param {Array<string>} [group] Filters contacts by the specified group(s). - Includes only contacts that belong to one or more of the given group Group(s).\n     * @param {Array<string>} [owner] Filters contacts by the specified owner(s). - Includes only contacts whose owner matches one or more of the given Owner(s). - The owner ID corresponds to &#x60;contact_id&#x60; in the &#x60;directory.wbt_user&#x60; table.\n     * @param {Array<string>} [label] Filters contacts by the specified label(s). - Includes only contacts that have one or more of the given Label(s).\n     * @param {boolean} [user] Filters contacts based on whether they are user-associated. - &#x60;true&#x60;  → Includes only user-associated contacts. - &#x60;false&#x60; → Includes only contacts that are NOT user-associated. - A contact is considered user-associated if it exists in &#x60;directory.wbt_user&#x60;.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchContacts(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      qin?: Array<string>,\n      mode?: 'READ' | 'WRITE' | 'DELETE',\n      notIdGroup?: string,\n      group?: Array<string>,\n      owner?: Array<string>,\n      label?: Array<string>,\n      user?: boolean,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsContactList>\n    > {\n      const localVarAxiosArgs = await ContactsApiAxiosParamCreator(\n        configuration\n      ).searchContacts(\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        qin,\n        mode,\n        notIdGroup,\n        group,\n        owner,\n        label,\n        user,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary NEW Update of the Contact source\n     * @param {string} etag Unique ID of the latest version of an existing resorce.\n     * @param {NEWContactSourceChanges} input\n     * @param {Array<string>} [fields] Source Fields to return into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateContact(\n      etag: string,\n      input: NEWContactSourceChanges,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsContact>\n    > {\n      const localVarAxiosArgs = await ContactsApiAxiosParamCreator(\n        configuration\n      ).updateContact(etag, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * ContactsApi - factory interface\n * @export\n */\nexport const ContactsApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Create NEW Contact\n     * @param {WebitelContactsInputContact} input NEW Contact source changes\n     * @param {Array<string>} [fields] Source Fields to return into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createContact(\n      input: WebitelContactsInputContact,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsContact> {\n      return ContactsApiFp(configuration)\n        .createContact(input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Remove Contact source\n     * @param {string} etag Unique ID of the latest version of a resource.\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteContact(\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsContact> {\n      return ContactsApiFp(configuration)\n        .deleteContact(etag, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Locate Contact source\n     * @param {string} etag The Contact source IDentifier. Accept: &#x60;etag&#x60; (obsolete+) or &#x60;id&#x60;.\n     * @param {Array<string>} [fields] Source Fields to return into result.\n     * @param {'READ' | 'WRITE' | 'DELETE'} [mode] The requirement of a special access mode to the Source.   - READ: Can &#x60;fetch&#x60; record. [GET]  - WRITE: Can &#x60;update&#x60; record. [PUT|PATCH]  - DELETE: Can &#x60;delete&#x60; record. [DELETE]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateContact(\n      etag: string,\n      fields?: Array<string>,\n      mode?: 'READ' | 'WRITE' | 'DELETE',\n      options?: any\n    ): AxiosPromise<WebitelContactsContact> {\n      return ContactsApiFp(configuration)\n        .locateContact(etag, fields, mode, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     * | Field       | Type  | ----------- | ----  | **----------- READ-ONLY -----------** |  | `id`        | int64  | `ver`       | int32  | `etag`      | string  | **---------- OPERATIONAL ----------** |  | `created_at` | int64(epoch:milli)  | `created_by` | lookup(user)  | `updated_at` | int64(epoch:milli)  | `updated_by` | lookup(user)  | **---------- ATTRIBUTES -----------** |  | `name`      | name!  | `about`     | string  | `labels`    | list[label!]  | `emails`    | list[email!]  | `photos`    | list[photo!]  | `phones`    | list[phone!]  | `managers`  | list[manager!]  | `comments`  | list[comment!]  | `addresses` | list[address!]  | `languages` | list[language!]  | `timezones` | list[timezone!]  | `variables` | list[variable!]  | `imclients` | list[imClient!]\n     * @summary Search for Contact(s)\n     * @param {number} [page] Page number of result records.   _default(1); offset&#x3D;(size*(page-1));_  &#x60;&#x60;&#x60;javascript let     offset &#x3D; 0   , page &#x3D; req.page ; if (page &lt;&#x3D; 0)     page &#x3D; 1; if (page &gt; 1)     offset &#x3D; ((page-1)*size); // . . . &#x60;&#x60;&#x60;\n     * @param {number} [size] Limit of result page records count.   _default(16); limit&#x3D;(size&lt;&#x3D;0?-1:size+1);_  &#x60;&#x60;&#x60;javascript const     default &#x3D; 16   , maximum &#x3D; 32 ; let limit &#x3D; req.size; if (limit &lt;&#x3D; 0)     limit &#x3D; default; if (maximum &lt; limit)     limit &#x3D; maximum; // . . . &#x60;&#x60;&#x60;\n     * @param {string} [q] Search term: &#x60;?&#x60; - matches any character &#x60;*&#x60; - matches 0 or more characters Used to query records within a set of &#x60;qin&#x60; fields, eg: name,emails{type},labels etc...\n     * @param {Array<string>} [sort] Sort result dataset of records by fields. &#x60;&#x60;&#x60; sort ::&#x3D; *( ORDER name )  ORDER  &#x3D; ASC / DESC DESC   &#x3D; \\&quot;-\\&quot; / \\&quot;!\\&quot; ASC    &#x3D; [ \\&quot;+\\&quot; ]   ; Default &#x60;&#x60;&#x60;  Fields available  - &#x60;id&#x60;(seq) - &#x60;domain&#x60;{name} - &#x60;created_at&#x60; - &#x60;created_by&#x60;{name} - &#x60;updated_at&#x60; - &#x60;updated_by&#x60;{name}  Use ?fields&#x3D;&#x60;field.sort()&#x60; option to sort Edge fields.\n     * @param {Array<string>} [fields] Fields [Q]uery to build result dataset record. &#x60;&#x60;&#x60; fields ::&#x3D; field [ *( \\&quot;,\\&quot; field ) ] field  ::&#x3D; name [ *( func ) ] [ inner ] inner  ::&#x3D; \\&quot;{\\&quot; fields \\&quot;}\\&quot; funcs  ::&#x3D; *( func ) func   ::&#x3D; \\&quot;.\\&quot; name \\&quot;(\\&quot; [ args ] \\&quot;)\\&quot; name   ::&#x3D; ALPHA / DIGIT / USCORE  ALPHA    &#x3D; %x41-5A / %x61-7A  ; \\&quot;A\\&quot;-\\&quot;Z\\&quot; / \\&quot;a\\&quot;-\\&quot;z\\&quot; DIGIT    &#x3D; %x30-39            ; \\&quot;0\\&quot;-\\&quot;9\\&quot; USCORE   &#x3D; %x5F ; underscore  ; \\&quot;_\\&quot; &#x60;&#x60;&#x60;\n     * @param {Array<string>} [id] Records with unique IDentifier(s). Accept: &#x60;id&#x60; -or- &#x60;etag&#x60;.\n     * @param {Array<string>} [qin] [Q]uery[IN] is a set of search fields for term &#x60;q&#x60;. Default: &#x60;name{common_name}&#x60;.\n     * @param {'READ' | 'WRITE' | 'DELETE'} [mode] Source access mode requirement.   - READ: Can &#x60;fetch&#x60; record. [GET]  - WRITE: Can &#x60;update&#x60; record. [PUT|PATCH]  - DELETE: Can &#x60;delete&#x60; record. [DELETE]\n     * @param {string} [notIdGroup] Excludes contacts that belong to the specified group ID. - Filters out contacts associated with the given &#x60;group_id&#x60;.\n     * @param {Array<string>} [group] Filters contacts by the specified group(s). - Includes only contacts that belong to one or more of the given group Group(s).\n     * @param {Array<string>} [owner] Filters contacts by the specified owner(s). - Includes only contacts whose owner matches one or more of the given Owner(s). - The owner ID corresponds to &#x60;contact_id&#x60; in the &#x60;directory.wbt_user&#x60; table.\n     * @param {Array<string>} [label] Filters contacts by the specified label(s). - Includes only contacts that have one or more of the given Label(s).\n     * @param {boolean} [user] Filters contacts based on whether they are user-associated. - &#x60;true&#x60;  → Includes only user-associated contacts. - &#x60;false&#x60; → Includes only contacts that are NOT user-associated. - A contact is considered user-associated if it exists in &#x60;directory.wbt_user&#x60;.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchContacts(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      qin?: Array<string>,\n      mode?: 'READ' | 'WRITE' | 'DELETE',\n      notIdGroup?: string,\n      group?: Array<string>,\n      owner?: Array<string>,\n      label?: Array<string>,\n      user?: boolean,\n      options?: any\n    ): AxiosPromise<WebitelContactsContactList> {\n      return ContactsApiFp(configuration)\n        .searchContacts(\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          id,\n          qin,\n          mode,\n          notIdGroup,\n          group,\n          owner,\n          label,\n          user,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary NEW Update of the Contact source\n     * @param {string} etag Unique ID of the latest version of an existing resorce.\n     * @param {NEWContactSourceChanges} input\n     * @param {Array<string>} [fields] Source Fields to return into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateContact(\n      etag: string,\n      input: NEWContactSourceChanges,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsContact> {\n      return ContactsApiFp(configuration)\n        .updateContact(etag, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * ContactsApi - object-oriented interface\n * @export\n * @class ContactsApi\n * @extends {BaseAPI}\n */\nexport class ContactsApi extends BaseAPI {\n  /**\n   *\n   * @summary Create NEW Contact\n   * @param {WebitelContactsInputContact} input NEW Contact source changes\n   * @param {Array<string>} [fields] Source Fields to return into result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ContactsApi\n   */\n  public createContact(\n    input: WebitelContactsInputContact,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return ContactsApiFp(this.configuration)\n      .createContact(input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Remove Contact source\n   * @param {string} etag Unique ID of the latest version of a resource.\n   * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ContactsApi\n   */\n  public deleteContact(etag: string, fields?: Array<string>, options?: any) {\n    return ContactsApiFp(this.configuration)\n      .deleteContact(etag, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Locate Contact source\n   * @param {string} etag The Contact source IDentifier. Accept: &#x60;etag&#x60; (obsolete+) or &#x60;id&#x60;.\n   * @param {Array<string>} [fields] Source Fields to return into result.\n   * @param {'READ' | 'WRITE' | 'DELETE'} [mode] The requirement of a special access mode to the Source.   - READ: Can &#x60;fetch&#x60; record. [GET]  - WRITE: Can &#x60;update&#x60; record. [PUT|PATCH]  - DELETE: Can &#x60;delete&#x60; record. [DELETE]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ContactsApi\n   */\n  public locateContact(\n    etag: string,\n    fields?: Array<string>,\n    mode?: 'READ' | 'WRITE' | 'DELETE',\n    options?: any\n  ) {\n    return ContactsApiFp(this.configuration)\n      .locateContact(etag, fields, mode, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   * | Field       | Type  | ----------- | ----  | **----------- READ-ONLY -----------** |  | `id`        | int64  | `ver`       | int32  | `etag`      | string  | **---------- OPERATIONAL ----------** |  | `created_at` | int64(epoch:milli)  | `created_by` | lookup(user)  | `updated_at` | int64(epoch:milli)  | `updated_by` | lookup(user)  | **---------- ATTRIBUTES -----------** |  | `name`      | name!  | `about`     | string  | `labels`    | list[label!]  | `emails`    | list[email!]  | `photos`    | list[photo!]  | `phones`    | list[phone!]  | `managers`  | list[manager!]  | `comments`  | list[comment!]  | `addresses` | list[address!]  | `languages` | list[language!]  | `timezones` | list[timezone!]  | `variables` | list[variable!]  | `imclients` | list[imClient!]\n   * @summary Search for Contact(s)\n   * @param {number} [page] Page number of result records.   _default(1); offset&#x3D;(size*(page-1));_  &#x60;&#x60;&#x60;javascript let     offset &#x3D; 0   , page &#x3D; req.page ; if (page &lt;&#x3D; 0)     page &#x3D; 1; if (page &gt; 1)     offset &#x3D; ((page-1)*size); // . . . &#x60;&#x60;&#x60;\n   * @param {number} [size] Limit of result page records count.   _default(16); limit&#x3D;(size&lt;&#x3D;0?-1:size+1);_  &#x60;&#x60;&#x60;javascript const     default &#x3D; 16   , maximum &#x3D; 32 ; let limit &#x3D; req.size; if (limit &lt;&#x3D; 0)     limit &#x3D; default; if (maximum &lt; limit)     limit &#x3D; maximum; // . . . &#x60;&#x60;&#x60;\n   * @param {string} [q] Search term: &#x60;?&#x60; - matches any character &#x60;*&#x60; - matches 0 or more characters Used to query records within a set of &#x60;qin&#x60; fields, eg: name,emails{type},labels etc...\n   * @param {Array<string>} [sort] Sort result dataset of records by fields. &#x60;&#x60;&#x60; sort ::&#x3D; *( ORDER name )  ORDER  &#x3D; ASC / DESC DESC   &#x3D; \\&quot;-\\&quot; / \\&quot;!\\&quot; ASC    &#x3D; [ \\&quot;+\\&quot; ]   ; Default &#x60;&#x60;&#x60;  Fields available  - &#x60;id&#x60;(seq) - &#x60;domain&#x60;{name} - &#x60;created_at&#x60; - &#x60;created_by&#x60;{name} - &#x60;updated_at&#x60; - &#x60;updated_by&#x60;{name}  Use ?fields&#x3D;&#x60;field.sort()&#x60; option to sort Edge fields.\n   * @param {Array<string>} [fields] Fields [Q]uery to build result dataset record. &#x60;&#x60;&#x60; fields ::&#x3D; field [ *( \\&quot;,\\&quot; field ) ] field  ::&#x3D; name [ *( func ) ] [ inner ] inner  ::&#x3D; \\&quot;{\\&quot; fields \\&quot;}\\&quot; funcs  ::&#x3D; *( func ) func   ::&#x3D; \\&quot;.\\&quot; name \\&quot;(\\&quot; [ args ] \\&quot;)\\&quot; name   ::&#x3D; ALPHA / DIGIT / USCORE  ALPHA    &#x3D; %x41-5A / %x61-7A  ; \\&quot;A\\&quot;-\\&quot;Z\\&quot; / \\&quot;a\\&quot;-\\&quot;z\\&quot; DIGIT    &#x3D; %x30-39            ; \\&quot;0\\&quot;-\\&quot;9\\&quot; USCORE   &#x3D; %x5F ; underscore  ; \\&quot;_\\&quot; &#x60;&#x60;&#x60;\n   * @param {Array<string>} [id] Records with unique IDentifier(s). Accept: &#x60;id&#x60; -or- &#x60;etag&#x60;.\n   * @param {Array<string>} [qin] [Q]uery[IN] is a set of search fields for term &#x60;q&#x60;. Default: &#x60;name{common_name}&#x60;.\n   * @param {'READ' | 'WRITE' | 'DELETE'} [mode] Source access mode requirement.   - READ: Can &#x60;fetch&#x60; record. [GET]  - WRITE: Can &#x60;update&#x60; record. [PUT|PATCH]  - DELETE: Can &#x60;delete&#x60; record. [DELETE]\n   * @param {string} [notIdGroup] Excludes contacts that belong to the specified group ID. - Filters out contacts associated with the given &#x60;group_id&#x60;.\n   * @param {Array<string>} [group] Filters contacts by the specified group(s). - Includes only contacts that belong to one or more of the given group Group(s).\n   * @param {Array<string>} [owner] Filters contacts by the specified owner(s). - Includes only contacts whose owner matches one or more of the given Owner(s). - The owner ID corresponds to &#x60;contact_id&#x60; in the &#x60;directory.wbt_user&#x60; table.\n   * @param {Array<string>} [label] Filters contacts by the specified label(s). - Includes only contacts that have one or more of the given Label(s).\n   * @param {boolean} [user] Filters contacts based on whether they are user-associated. - &#x60;true&#x60;  → Includes only user-associated contacts. - &#x60;false&#x60; → Includes only contacts that are NOT user-associated. - A contact is considered user-associated if it exists in &#x60;directory.wbt_user&#x60;.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ContactsApi\n   */\n  public searchContacts(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: Array<string>,\n    fields?: Array<string>,\n    id?: Array<string>,\n    qin?: Array<string>,\n    mode?: 'READ' | 'WRITE' | 'DELETE',\n    notIdGroup?: string,\n    group?: Array<string>,\n    owner?: Array<string>,\n    label?: Array<string>,\n    user?: boolean,\n    options?: any\n  ) {\n    return ContactsApiFp(this.configuration)\n      .searchContacts(\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        qin,\n        mode,\n        notIdGroup,\n        group,\n        owner,\n        label,\n        user,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary NEW Update of the Contact source\n   * @param {string} etag Unique ID of the latest version of an existing resorce.\n   * @param {NEWContactSourceChanges} input\n   * @param {Array<string>} [fields] Source Fields to return into result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ContactsApi\n   */\n  public updateContact(\n    etag: string,\n    input: NEWContactSourceChanges,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return ContactsApiFp(this.configuration)\n      .updateContact(etag, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { WebitelChatGetContactChatHistoryResponse } from '../api'\n/**\n * ContactsChatCatalogApi - axios parameter creator\n * @export\n */\nexport const ContactsChatCatalogApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {string} contactId Contact identificator\n     * @param {string} chatId Unique chat dialog\n     * @param {string} [offsetId] Messages ONLY starting from the specified message ID\n     * @param {string} [offsetDate] Messages ONLY been sent before the specified epochtime(milli).\n     * @param {number} [size] Number of messages to return.\n     * @param {number} [page]\n     * @param {string} [q] Search term: message.text\n     * @param {Array<string>} [fields] Fields to return into result.\n     * @param {string} [groupString] This is a request variable of the map type. The query format is \\&quot;map_name[key]&#x3D;value\\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\\&quot;bob\\&quot;]&#x3D;18\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getContactChatHistory: async (\n      contactId: string,\n      chatId: string,\n      offsetId?: string,\n      offsetDate?: string,\n      size?: number,\n      page?: number,\n      q?: string,\n      fields?: Array<string>,\n      groupString?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling getContactChatHistory.'\n        )\n      }\n      // verify required parameter 'chatId' is not null or undefined\n      if (chatId === null || chatId === undefined) {\n        throw new RequiredError(\n          'chatId',\n          'Required parameter chatId was null or undefined when calling getContactChatHistory.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/chat/{chat_id}/messages`\n        .replace(`{${'contact_id'}}`, encodeURIComponent(String(contactId)))\n        .replace(`{${'chat_id'}}`, encodeURIComponent(String(chatId)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (offsetId !== undefined) {\n        localVarQueryParameter['offset.id'] = offsetId\n      }\n\n      if (offsetDate !== undefined) {\n        localVarQueryParameter['offset.date'] = offsetDate\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (groupString !== undefined) {\n        localVarQueryParameter['group[string]'] = groupString\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} contactId Contact identificator\n     * @param {string} [offsetId] Messages ONLY starting from the specified message ID\n     * @param {string} [offsetDate] Messages ONLY been sent before the specified epochtime(milli).\n     * @param {number} [size] Number of messages to return.\n     * @param {number} [page]\n     * @param {string} [q] Search term: message.text\n     * @param {Array<string>} [fields] Fields to return into result.\n     * @param {string} [chatId] Unique chat dialog\n     * @param {string} [groupStringString] This is a request variable of the map type. The query format is \\&quot;map_name[key]&#x3D;value\\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\\&quot;bob\\&quot;]&#x3D;18\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getContactChatHistory2: async (\n      contactId: string,\n      offsetId?: string,\n      offsetDate?: string,\n      size?: number,\n      page?: number,\n      q?: string,\n      fields?: Array<string>,\n      chatId?: string,\n      groupStringString?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling getContactChatHistory2.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/chat/messages`.replace(\n        `{${'contact_id'}}`,\n        encodeURIComponent(String(contactId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (offsetId !== undefined) {\n        localVarQueryParameter['offset.id'] = offsetId\n      }\n\n      if (offsetDate !== undefined) {\n        localVarQueryParameter['offset.date'] = offsetDate\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (chatId !== undefined) {\n        localVarQueryParameter['chat_id'] = chatId\n      }\n\n      if (groupStringString !== undefined) {\n        localVarQueryParameter['group[string][string]'] = groupStringString\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * ContactsChatCatalogApi - functional programming interface\n * @export\n */\nexport const ContactsChatCatalogApiFp = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {string} contactId Contact identificator\n     * @param {string} chatId Unique chat dialog\n     * @param {string} [offsetId] Messages ONLY starting from the specified message ID\n     * @param {string} [offsetDate] Messages ONLY been sent before the specified epochtime(milli).\n     * @param {number} [size] Number of messages to return.\n     * @param {number} [page]\n     * @param {string} [q] Search term: message.text\n     * @param {Array<string>} [fields] Fields to return into result.\n     * @param {string} [groupString] This is a request variable of the map type. The query format is \\&quot;map_name[key]&#x3D;value\\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\\&quot;bob\\&quot;]&#x3D;18\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getContactChatHistory(\n      contactId: string,\n      chatId: string,\n      offsetId?: string,\n      offsetDate?: string,\n      size?: number,\n      page?: number,\n      q?: string,\n      fields?: Array<string>,\n      groupString?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelChatGetContactChatHistoryResponse>\n    > {\n      const localVarAxiosArgs = await ContactsChatCatalogApiAxiosParamCreator(\n        configuration\n      ).getContactChatHistory(\n        contactId,\n        chatId,\n        offsetId,\n        offsetDate,\n        size,\n        page,\n        q,\n        fields,\n        groupString,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} contactId Contact identificator\n     * @param {string} [offsetId] Messages ONLY starting from the specified message ID\n     * @param {string} [offsetDate] Messages ONLY been sent before the specified epochtime(milli).\n     * @param {number} [size] Number of messages to return.\n     * @param {number} [page]\n     * @param {string} [q] Search term: message.text\n     * @param {Array<string>} [fields] Fields to return into result.\n     * @param {string} [chatId] Unique chat dialog\n     * @param {string} [groupStringString] This is a request variable of the map type. The query format is \\&quot;map_name[key]&#x3D;value\\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\\&quot;bob\\&quot;]&#x3D;18\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getContactChatHistory2(\n      contactId: string,\n      offsetId?: string,\n      offsetDate?: string,\n      size?: number,\n      page?: number,\n      q?: string,\n      fields?: Array<string>,\n      chatId?: string,\n      groupStringString?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelChatGetContactChatHistoryResponse>\n    > {\n      const localVarAxiosArgs = await ContactsChatCatalogApiAxiosParamCreator(\n        configuration\n      ).getContactChatHistory2(\n        contactId,\n        offsetId,\n        offsetDate,\n        size,\n        page,\n        q,\n        fields,\n        chatId,\n        groupStringString,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * ContactsChatCatalogApi - factory interface\n * @export\n */\nexport const ContactsChatCatalogApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {string} contactId Contact identificator\n     * @param {string} chatId Unique chat dialog\n     * @param {string} [offsetId] Messages ONLY starting from the specified message ID\n     * @param {string} [offsetDate] Messages ONLY been sent before the specified epochtime(milli).\n     * @param {number} [size] Number of messages to return.\n     * @param {number} [page]\n     * @param {string} [q] Search term: message.text\n     * @param {Array<string>} [fields] Fields to return into result.\n     * @param {string} [groupString] This is a request variable of the map type. The query format is \\&quot;map_name[key]&#x3D;value\\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\\&quot;bob\\&quot;]&#x3D;18\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getContactChatHistory(\n      contactId: string,\n      chatId: string,\n      offsetId?: string,\n      offsetDate?: string,\n      size?: number,\n      page?: number,\n      q?: string,\n      fields?: Array<string>,\n      groupString?: string,\n      options?: any\n    ): AxiosPromise<WebitelChatGetContactChatHistoryResponse> {\n      return ContactsChatCatalogApiFp(configuration)\n        .getContactChatHistory(\n          contactId,\n          chatId,\n          offsetId,\n          offsetDate,\n          size,\n          page,\n          q,\n          fields,\n          groupString,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} contactId Contact identificator\n     * @param {string} [offsetId] Messages ONLY starting from the specified message ID\n     * @param {string} [offsetDate] Messages ONLY been sent before the specified epochtime(milli).\n     * @param {number} [size] Number of messages to return.\n     * @param {number} [page]\n     * @param {string} [q] Search term: message.text\n     * @param {Array<string>} [fields] Fields to return into result.\n     * @param {string} [chatId] Unique chat dialog\n     * @param {string} [groupStringString] This is a request variable of the map type. The query format is \\&quot;map_name[key]&#x3D;value\\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\\&quot;bob\\&quot;]&#x3D;18\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getContactChatHistory2(\n      contactId: string,\n      offsetId?: string,\n      offsetDate?: string,\n      size?: number,\n      page?: number,\n      q?: string,\n      fields?: Array<string>,\n      chatId?: string,\n      groupStringString?: string,\n      options?: any\n    ): AxiosPromise<WebitelChatGetContactChatHistoryResponse> {\n      return ContactsChatCatalogApiFp(configuration)\n        .getContactChatHistory2(\n          contactId,\n          offsetId,\n          offsetDate,\n          size,\n          page,\n          q,\n          fields,\n          chatId,\n          groupStringString,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * ContactsChatCatalogApi - object-oriented interface\n * @export\n * @class ContactsChatCatalogApi\n * @extends {BaseAPI}\n */\nexport class ContactsChatCatalogApi extends BaseAPI {\n  /**\n   *\n   * @param {string} contactId Contact identificator\n   * @param {string} chatId Unique chat dialog\n   * @param {string} [offsetId] Messages ONLY starting from the specified message ID\n   * @param {string} [offsetDate] Messages ONLY been sent before the specified epochtime(milli).\n   * @param {number} [size] Number of messages to return.\n   * @param {number} [page]\n   * @param {string} [q] Search term: message.text\n   * @param {Array<string>} [fields] Fields to return into result.\n   * @param {string} [groupString] This is a request variable of the map type. The query format is \\&quot;map_name[key]&#x3D;value\\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\\&quot;bob\\&quot;]&#x3D;18\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ContactsChatCatalogApi\n   */\n  public getContactChatHistory(\n    contactId: string,\n    chatId: string,\n    offsetId?: string,\n    offsetDate?: string,\n    size?: number,\n    page?: number,\n    q?: string,\n    fields?: Array<string>,\n    groupString?: string,\n    options?: any\n  ) {\n    return ContactsChatCatalogApiFp(this.configuration)\n      .getContactChatHistory(\n        contactId,\n        chatId,\n        offsetId,\n        offsetDate,\n        size,\n        page,\n        q,\n        fields,\n        groupString,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} contactId Contact identificator\n   * @param {string} [offsetId] Messages ONLY starting from the specified message ID\n   * @param {string} [offsetDate] Messages ONLY been sent before the specified epochtime(milli).\n   * @param {number} [size] Number of messages to return.\n   * @param {number} [page]\n   * @param {string} [q] Search term: message.text\n   * @param {Array<string>} [fields] Fields to return into result.\n   * @param {string} [chatId] Unique chat dialog\n   * @param {string} [groupStringString] This is a request variable of the map type. The query format is \\&quot;map_name[key]&#x3D;value\\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\\&quot;bob\\&quot;]&#x3D;18\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ContactsChatCatalogApi\n   */\n  public getContactChatHistory2(\n    contactId: string,\n    offsetId?: string,\n    offsetDate?: string,\n    size?: number,\n    page?: number,\n    q?: string,\n    fields?: Array<string>,\n    chatId?: string,\n    groupStringString?: string,\n    options?: any\n  ) {\n    return ContactsChatCatalogApiFp(this.configuration)\n      .getContactChatHistory2(\n        contactId,\n        offsetId,\n        offsetDate,\n        size,\n        page,\n        q,\n        fields,\n        chatId,\n        groupStringString,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { ApiGetCustomerResponse } from '../api'\n// @ts-ignore\nimport { ApiLicenseUsageResponse } from '../api'\n// @ts-ignore\nimport { ApiLicenseUsersResponse } from '../api'\n// @ts-ignore\nimport { ApiServerInfoResponse } from '../api'\n// @ts-ignore\nimport { ApiUpdateCustomerResponse } from '../api'\n/**\n * CustomersApi - axios parameter creator\n * @export\n */\nexport const CustomersApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary rpc GetCertificate(CertificateUsageRequest) returns (CertificateUsageResponse) {}\n     * @param {string} [id] Available Filters  show by customer id; serial number (uuid)\n     * @param {boolean} [valid] show if valid only!\n     * @param {string} [domainId] identifier\n     * @param {string} [domainName] display name\n     * @param {Array<string>} [fields] Request Controls  serial,\n     * @param {Array<string>} [sort]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getCustomer: async (\n      id?: string,\n      valid?: boolean,\n      domainId?: string,\n      domainName?: string,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/customer`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (id !== undefined) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (valid !== undefined) {\n        localVarQueryParameter['valid'] = valid\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain.id'] = domainId\n      }\n\n      if (domainName !== undefined) {\n        localVarQueryParameter['domain.name'] = domainName\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary rpc GetCertificate(CertificateUsageRequest) returns (CertificateUsageResponse) {}\n     * @param {string} id Available Filters  show by customer id; serial number (uuid)\n     * @param {boolean} [valid] show if valid only!\n     * @param {string} [domainId] identifier\n     * @param {string} [domainName] display name\n     * @param {Array<string>} [fields] Request Controls  serial,\n     * @param {Array<string>} [sort]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getCustomer2: async (\n      id: string,\n      valid?: boolean,\n      domainId?: string,\n      domainName?: string,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling getCustomer2.'\n        )\n      }\n      const localVarPath = `/customer/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (valid !== undefined) {\n        localVarQueryParameter['valid'] = valid\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain.id'] = domainId\n      }\n\n      if (domainName !== undefined) {\n        localVarQueryParameter['domain.name'] = domainName\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} customerId\n     * @param {number} [size] ----- Search Options ----- //  default: 16\n     * @param {number} [page] default: 1\n     * @param {Array<string>} [fields] set of output fields\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {string} [userId] identifier\n     * @param {string} [userName] display name\n     * @param {string} [domainId] identifier\n     * @param {string} [domainName] display name\n     * @param {Array<string>} [id] by serial number(s)\n     * @param {Array<string>} [product] by product name(s)\n     * @param {boolean} [valid] view: all|valid|grantable  show: available to be granted\n     * @param {string} [q] filter: term of search\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    licenseUsage: async (\n      customerId: string,\n      size?: number,\n      page?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      userId?: string,\n      userName?: string,\n      domainId?: string,\n      domainName?: string,\n      id?: Array<string>,\n      product?: Array<string>,\n      valid?: boolean,\n      q?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'customerId' is not null or undefined\n      if (customerId === null || customerId === undefined) {\n        throw new RequiredError(\n          'customerId',\n          'Required parameter customerId was null or undefined when calling licenseUsage.'\n        )\n      }\n      const localVarPath = `/customer/{customer_id}/license`.replace(\n        `{${'customer_id'}}`,\n        encodeURIComponent(String(customerId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (userId !== undefined) {\n        localVarQueryParameter['user.id'] = userId\n      }\n\n      if (userName !== undefined) {\n        localVarQueryParameter['user.name'] = userName\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain.id'] = domainId\n      }\n\n      if (domainName !== undefined) {\n        localVarQueryParameter['domain.name'] = domainName\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (product) {\n        localVarQueryParameter['product'] = product\n      }\n\n      if (valid !== undefined) {\n        localVarQueryParameter['valid'] = valid\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} [size] ----- Search Options ----- //  default: 16\n     * @param {number} [page] default: 1\n     * @param {Array<string>} [fields] set of output fields\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {string} [userId] identifier\n     * @param {string} [userName] display name\n     * @param {string} [domainId] identifier\n     * @param {string} [domainName] display name\n     * @param {string} [customerId]\n     * @param {Array<string>} [id] by serial number(s)\n     * @param {Array<string>} [product] by product name(s)\n     * @param {boolean} [valid] view: all|valid|grantable  show: available to be granted\n     * @param {string} [q] filter: term of search\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    licenseUsage2: async (\n      size?: number,\n      page?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      userId?: string,\n      userName?: string,\n      domainId?: string,\n      domainName?: string,\n      customerId?: string,\n      id?: Array<string>,\n      product?: Array<string>,\n      valid?: boolean,\n      q?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/license`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (userId !== undefined) {\n        localVarQueryParameter['user.id'] = userId\n      }\n\n      if (userName !== undefined) {\n        localVarQueryParameter['user.name'] = userName\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain.id'] = domainId\n      }\n\n      if (domainName !== undefined) {\n        localVarQueryParameter['domain.name'] = domainName\n      }\n\n      if (customerId !== undefined) {\n        localVarQueryParameter['customer_id'] = customerId\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (product) {\n        localVarQueryParameter['product'] = product\n      }\n\n      if (valid !== undefined) {\n        localVarQueryParameter['valid'] = valid\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} [size] ----- Search Options ----- //  default: 16\n     * @param {number} [page] default: 1\n     * @param {Array<string>} [fields] set of output fields\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {string} [userId] identifier\n     * @param {string} [userName] display name\n     * @param {string} [domainId] identifier\n     * @param {string} [domainName] display name\n     * @param {string} [customerId]\n     * @param {Array<string>} [id] by serial number(s)\n     * @param {Array<string>} [product] by product name(s)\n     * @param {boolean} [valid] view: all|valid|grantable  show: available to be granted\n     * @param {string} [q] filter: term of search\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    licenseUsage3: async (\n      size?: number,\n      page?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      userId?: string,\n      userName?: string,\n      domainId?: string,\n      domainName?: string,\n      customerId?: string,\n      id?: Array<string>,\n      product?: Array<string>,\n      valid?: boolean,\n      q?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/products`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (userId !== undefined) {\n        localVarQueryParameter['user.id'] = userId\n      }\n\n      if (userName !== undefined) {\n        localVarQueryParameter['user.name'] = userName\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain.id'] = domainId\n      }\n\n      if (domainName !== undefined) {\n        localVarQueryParameter['domain.name'] = domainName\n      }\n\n      if (customerId !== undefined) {\n        localVarQueryParameter['customer_id'] = customerId\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (product) {\n        localVarQueryParameter['product'] = product\n      }\n\n      if (valid !== undefined) {\n        localVarQueryParameter['valid'] = valid\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id ----- Search Filters ----- //  REQUIRED Product ID\n     * @param {number} [size] ----- Search Options ----- //  default: 16\n     * @param {number} [page] default: 1\n     * @param {Array<string>} [fields] set of output fields\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {string} [q] filter: term of search (username)\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    licenseUsers: async (\n      id: string,\n      size?: number,\n      page?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      q?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling licenseUsers.'\n        )\n      }\n      const localVarPath = `/products/{id}/users`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    serverInfo: async (options: any = {}): Promise<RequestArgs> => {\n      const localVarPath = `/srvinfo`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} [organization] [optional] e.g.: Example Org.\n     * @param {string} [logoPicture] [optional] logo source image\n     * @param {string} [certificate] [optional] raw bytes protobuf::base64.RawStdEncoding !&#x3D; certificate::base64.StdEncoding\n     * @param {boolean} [revoke]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateCustomer: async (\n      organization?: string,\n      logoPicture?: string,\n      certificate?: string,\n      revoke?: boolean,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/customer`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (organization !== undefined) {\n        localVarQueryParameter['organization'] = organization\n      }\n\n      if (logoPicture !== undefined) {\n        localVarQueryParameter['logo_picture'] = logoPicture\n      }\n\n      if (certificate !== undefined) {\n        localVarQueryParameter['certificate'] = certificate\n      }\n\n      if (revoke !== undefined) {\n        localVarQueryParameter['revoke'] = revoke\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * CustomersApi - functional programming interface\n * @export\n */\nexport const CustomersApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary rpc GetCertificate(CertificateUsageRequest) returns (CertificateUsageResponse) {}\n     * @param {string} [id] Available Filters  show by customer id; serial number (uuid)\n     * @param {boolean} [valid] show if valid only!\n     * @param {string} [domainId] identifier\n     * @param {string} [domainName] display name\n     * @param {Array<string>} [fields] Request Controls  serial,\n     * @param {Array<string>} [sort]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getCustomer(\n      id?: string,\n      valid?: boolean,\n      domainId?: string,\n      domainName?: string,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiGetCustomerResponse>\n    > {\n      const localVarAxiosArgs = await CustomersApiAxiosParamCreator(\n        configuration\n      ).getCustomer(id, valid, domainId, domainName, fields, sort, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary rpc GetCertificate(CertificateUsageRequest) returns (CertificateUsageResponse) {}\n     * @param {string} id Available Filters  show by customer id; serial number (uuid)\n     * @param {boolean} [valid] show if valid only!\n     * @param {string} [domainId] identifier\n     * @param {string} [domainName] display name\n     * @param {Array<string>} [fields] Request Controls  serial,\n     * @param {Array<string>} [sort]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getCustomer2(\n      id: string,\n      valid?: boolean,\n      domainId?: string,\n      domainName?: string,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiGetCustomerResponse>\n    > {\n      const localVarAxiosArgs = await CustomersApiAxiosParamCreator(\n        configuration\n      ).getCustomer2(id, valid, domainId, domainName, fields, sort, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} customerId\n     * @param {number} [size] ----- Search Options ----- //  default: 16\n     * @param {number} [page] default: 1\n     * @param {Array<string>} [fields] set of output fields\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {string} [userId] identifier\n     * @param {string} [userName] display name\n     * @param {string} [domainId] identifier\n     * @param {string} [domainName] display name\n     * @param {Array<string>} [id] by serial number(s)\n     * @param {Array<string>} [product] by product name(s)\n     * @param {boolean} [valid] view: all|valid|grantable  show: available to be granted\n     * @param {string} [q] filter: term of search\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async licenseUsage(\n      customerId: string,\n      size?: number,\n      page?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      userId?: string,\n      userName?: string,\n      domainId?: string,\n      domainName?: string,\n      id?: Array<string>,\n      product?: Array<string>,\n      valid?: boolean,\n      q?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiLicenseUsageResponse>\n    > {\n      const localVarAxiosArgs = await CustomersApiAxiosParamCreator(\n        configuration\n      ).licenseUsage(\n        customerId,\n        size,\n        page,\n        fields,\n        sort,\n        userId,\n        userName,\n        domainId,\n        domainName,\n        id,\n        product,\n        valid,\n        q,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} [size] ----- Search Options ----- //  default: 16\n     * @param {number} [page] default: 1\n     * @param {Array<string>} [fields] set of output fields\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {string} [userId] identifier\n     * @param {string} [userName] display name\n     * @param {string} [domainId] identifier\n     * @param {string} [domainName] display name\n     * @param {string} [customerId]\n     * @param {Array<string>} [id] by serial number(s)\n     * @param {Array<string>} [product] by product name(s)\n     * @param {boolean} [valid] view: all|valid|grantable  show: available to be granted\n     * @param {string} [q] filter: term of search\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async licenseUsage2(\n      size?: number,\n      page?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      userId?: string,\n      userName?: string,\n      domainId?: string,\n      domainName?: string,\n      customerId?: string,\n      id?: Array<string>,\n      product?: Array<string>,\n      valid?: boolean,\n      q?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiLicenseUsageResponse>\n    > {\n      const localVarAxiosArgs = await CustomersApiAxiosParamCreator(\n        configuration\n      ).licenseUsage2(\n        size,\n        page,\n        fields,\n        sort,\n        userId,\n        userName,\n        domainId,\n        domainName,\n        customerId,\n        id,\n        product,\n        valid,\n        q,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} [size] ----- Search Options ----- //  default: 16\n     * @param {number} [page] default: 1\n     * @param {Array<string>} [fields] set of output fields\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {string} [userId] identifier\n     * @param {string} [userName] display name\n     * @param {string} [domainId] identifier\n     * @param {string} [domainName] display name\n     * @param {string} [customerId]\n     * @param {Array<string>} [id] by serial number(s)\n     * @param {Array<string>} [product] by product name(s)\n     * @param {boolean} [valid] view: all|valid|grantable  show: available to be granted\n     * @param {string} [q] filter: term of search\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async licenseUsage3(\n      size?: number,\n      page?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      userId?: string,\n      userName?: string,\n      domainId?: string,\n      domainName?: string,\n      customerId?: string,\n      id?: Array<string>,\n      product?: Array<string>,\n      valid?: boolean,\n      q?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiLicenseUsageResponse>\n    > {\n      const localVarAxiosArgs = await CustomersApiAxiosParamCreator(\n        configuration\n      ).licenseUsage3(\n        size,\n        page,\n        fields,\n        sort,\n        userId,\n        userName,\n        domainId,\n        domainName,\n        customerId,\n        id,\n        product,\n        valid,\n        q,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id ----- Search Filters ----- //  REQUIRED Product ID\n     * @param {number} [size] ----- Search Options ----- //  default: 16\n     * @param {number} [page] default: 1\n     * @param {Array<string>} [fields] set of output fields\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {string} [q] filter: term of search (username)\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async licenseUsers(\n      id: string,\n      size?: number,\n      page?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      q?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiLicenseUsersResponse>\n    > {\n      const localVarAxiosArgs = await CustomersApiAxiosParamCreator(\n        configuration\n      ).licenseUsers(id, size, page, fields, sort, q, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async serverInfo(\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiServerInfoResponse>\n    > {\n      const localVarAxiosArgs = await CustomersApiAxiosParamCreator(\n        configuration\n      ).serverInfo(options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} [organization] [optional] e.g.: Example Org.\n     * @param {string} [logoPicture] [optional] logo source image\n     * @param {string} [certificate] [optional] raw bytes protobuf::base64.RawStdEncoding !&#x3D; certificate::base64.StdEncoding\n     * @param {boolean} [revoke]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateCustomer(\n      organization?: string,\n      logoPicture?: string,\n      certificate?: string,\n      revoke?: boolean,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiUpdateCustomerResponse>\n    > {\n      const localVarAxiosArgs = await CustomersApiAxiosParamCreator(\n        configuration\n      ).updateCustomer(organization, logoPicture, certificate, revoke, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * CustomersApi - factory interface\n * @export\n */\nexport const CustomersApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary rpc GetCertificate(CertificateUsageRequest) returns (CertificateUsageResponse) {}\n     * @param {string} [id] Available Filters  show by customer id; serial number (uuid)\n     * @param {boolean} [valid] show if valid only!\n     * @param {string} [domainId] identifier\n     * @param {string} [domainName] display name\n     * @param {Array<string>} [fields] Request Controls  serial,\n     * @param {Array<string>} [sort]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getCustomer(\n      id?: string,\n      valid?: boolean,\n      domainId?: string,\n      domainName?: string,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      options?: any\n    ): AxiosPromise<ApiGetCustomerResponse> {\n      return CustomersApiFp(configuration)\n        .getCustomer(id, valid, domainId, domainName, fields, sort, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary rpc GetCertificate(CertificateUsageRequest) returns (CertificateUsageResponse) {}\n     * @param {string} id Available Filters  show by customer id; serial number (uuid)\n     * @param {boolean} [valid] show if valid only!\n     * @param {string} [domainId] identifier\n     * @param {string} [domainName] display name\n     * @param {Array<string>} [fields] Request Controls  serial,\n     * @param {Array<string>} [sort]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getCustomer2(\n      id: string,\n      valid?: boolean,\n      domainId?: string,\n      domainName?: string,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      options?: any\n    ): AxiosPromise<ApiGetCustomerResponse> {\n      return CustomersApiFp(configuration)\n        .getCustomer2(id, valid, domainId, domainName, fields, sort, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} customerId\n     * @param {number} [size] ----- Search Options ----- //  default: 16\n     * @param {number} [page] default: 1\n     * @param {Array<string>} [fields] set of output fields\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {string} [userId] identifier\n     * @param {string} [userName] display name\n     * @param {string} [domainId] identifier\n     * @param {string} [domainName] display name\n     * @param {Array<string>} [id] by serial number(s)\n     * @param {Array<string>} [product] by product name(s)\n     * @param {boolean} [valid] view: all|valid|grantable  show: available to be granted\n     * @param {string} [q] filter: term of search\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    licenseUsage(\n      customerId: string,\n      size?: number,\n      page?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      userId?: string,\n      userName?: string,\n      domainId?: string,\n      domainName?: string,\n      id?: Array<string>,\n      product?: Array<string>,\n      valid?: boolean,\n      q?: string,\n      options?: any\n    ): AxiosPromise<ApiLicenseUsageResponse> {\n      return CustomersApiFp(configuration)\n        .licenseUsage(\n          customerId,\n          size,\n          page,\n          fields,\n          sort,\n          userId,\n          userName,\n          domainId,\n          domainName,\n          id,\n          product,\n          valid,\n          q,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} [size] ----- Search Options ----- //  default: 16\n     * @param {number} [page] default: 1\n     * @param {Array<string>} [fields] set of output fields\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {string} [userId] identifier\n     * @param {string} [userName] display name\n     * @param {string} [domainId] identifier\n     * @param {string} [domainName] display name\n     * @param {string} [customerId]\n     * @param {Array<string>} [id] by serial number(s)\n     * @param {Array<string>} [product] by product name(s)\n     * @param {boolean} [valid] view: all|valid|grantable  show: available to be granted\n     * @param {string} [q] filter: term of search\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    licenseUsage2(\n      size?: number,\n      page?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      userId?: string,\n      userName?: string,\n      domainId?: string,\n      domainName?: string,\n      customerId?: string,\n      id?: Array<string>,\n      product?: Array<string>,\n      valid?: boolean,\n      q?: string,\n      options?: any\n    ): AxiosPromise<ApiLicenseUsageResponse> {\n      return CustomersApiFp(configuration)\n        .licenseUsage2(\n          size,\n          page,\n          fields,\n          sort,\n          userId,\n          userName,\n          domainId,\n          domainName,\n          customerId,\n          id,\n          product,\n          valid,\n          q,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} [size] ----- Search Options ----- //  default: 16\n     * @param {number} [page] default: 1\n     * @param {Array<string>} [fields] set of output fields\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {string} [userId] identifier\n     * @param {string} [userName] display name\n     * @param {string} [domainId] identifier\n     * @param {string} [domainName] display name\n     * @param {string} [customerId]\n     * @param {Array<string>} [id] by serial number(s)\n     * @param {Array<string>} [product] by product name(s)\n     * @param {boolean} [valid] view: all|valid|grantable  show: available to be granted\n     * @param {string} [q] filter: term of search\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    licenseUsage3(\n      size?: number,\n      page?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      userId?: string,\n      userName?: string,\n      domainId?: string,\n      domainName?: string,\n      customerId?: string,\n      id?: Array<string>,\n      product?: Array<string>,\n      valid?: boolean,\n      q?: string,\n      options?: any\n    ): AxiosPromise<ApiLicenseUsageResponse> {\n      return CustomersApiFp(configuration)\n        .licenseUsage3(\n          size,\n          page,\n          fields,\n          sort,\n          userId,\n          userName,\n          domainId,\n          domainName,\n          customerId,\n          id,\n          product,\n          valid,\n          q,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id ----- Search Filters ----- //  REQUIRED Product ID\n     * @param {number} [size] ----- Search Options ----- //  default: 16\n     * @param {number} [page] default: 1\n     * @param {Array<string>} [fields] set of output fields\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {string} [q] filter: term of search (username)\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    licenseUsers(\n      id: string,\n      size?: number,\n      page?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      q?: string,\n      options?: any\n    ): AxiosPromise<ApiLicenseUsersResponse> {\n      return CustomersApiFp(configuration)\n        .licenseUsers(id, size, page, fields, sort, q, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    serverInfo(options?: any): AxiosPromise<ApiServerInfoResponse> {\n      return CustomersApiFp(configuration)\n        .serverInfo(options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} [organization] [optional] e.g.: Example Org.\n     * @param {string} [logoPicture] [optional] logo source image\n     * @param {string} [certificate] [optional] raw bytes protobuf::base64.RawStdEncoding !&#x3D; certificate::base64.StdEncoding\n     * @param {boolean} [revoke]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateCustomer(\n      organization?: string,\n      logoPicture?: string,\n      certificate?: string,\n      revoke?: boolean,\n      options?: any\n    ): AxiosPromise<ApiUpdateCustomerResponse> {\n      return CustomersApiFp(configuration)\n        .updateCustomer(organization, logoPicture, certificate, revoke, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * CustomersApi - object-oriented interface\n * @export\n * @class CustomersApi\n * @extends {BaseAPI}\n */\nexport class CustomersApi extends BaseAPI {\n  /**\n   *\n   * @summary rpc GetCertificate(CertificateUsageRequest) returns (CertificateUsageResponse) {}\n   * @param {string} [id] Available Filters  show by customer id; serial number (uuid)\n   * @param {boolean} [valid] show if valid only!\n   * @param {string} [domainId] identifier\n   * @param {string} [domainName] display name\n   * @param {Array<string>} [fields] Request Controls  serial,\n   * @param {Array<string>} [sort]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CustomersApi\n   */\n  public getCustomer(\n    id?: string,\n    valid?: boolean,\n    domainId?: string,\n    domainName?: string,\n    fields?: Array<string>,\n    sort?: Array<string>,\n    options?: any\n  ) {\n    return CustomersApiFp(this.configuration)\n      .getCustomer(id, valid, domainId, domainName, fields, sort, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary rpc GetCertificate(CertificateUsageRequest) returns (CertificateUsageResponse) {}\n   * @param {string} id Available Filters  show by customer id; serial number (uuid)\n   * @param {boolean} [valid] show if valid only!\n   * @param {string} [domainId] identifier\n   * @param {string} [domainName] display name\n   * @param {Array<string>} [fields] Request Controls  serial,\n   * @param {Array<string>} [sort]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CustomersApi\n   */\n  public getCustomer2(\n    id: string,\n    valid?: boolean,\n    domainId?: string,\n    domainName?: string,\n    fields?: Array<string>,\n    sort?: Array<string>,\n    options?: any\n  ) {\n    return CustomersApiFp(this.configuration)\n      .getCustomer2(id, valid, domainId, domainName, fields, sort, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} customerId\n   * @param {number} [size] ----- Search Options ----- //  default: 16\n   * @param {number} [page] default: 1\n   * @param {Array<string>} [fields] set of output fields\n   * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n   * @param {string} [userId] identifier\n   * @param {string} [userName] display name\n   * @param {string} [domainId] identifier\n   * @param {string} [domainName] display name\n   * @param {Array<string>} [id] by serial number(s)\n   * @param {Array<string>} [product] by product name(s)\n   * @param {boolean} [valid] view: all|valid|grantable  show: available to be granted\n   * @param {string} [q] filter: term of search\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CustomersApi\n   */\n  public licenseUsage(\n    customerId: string,\n    size?: number,\n    page?: number,\n    fields?: Array<string>,\n    sort?: Array<string>,\n    userId?: string,\n    userName?: string,\n    domainId?: string,\n    domainName?: string,\n    id?: Array<string>,\n    product?: Array<string>,\n    valid?: boolean,\n    q?: string,\n    options?: any\n  ) {\n    return CustomersApiFp(this.configuration)\n      .licenseUsage(\n        customerId,\n        size,\n        page,\n        fields,\n        sort,\n        userId,\n        userName,\n        domainId,\n        domainName,\n        id,\n        product,\n        valid,\n        q,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} [size] ----- Search Options ----- //  default: 16\n   * @param {number} [page] default: 1\n   * @param {Array<string>} [fields] set of output fields\n   * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n   * @param {string} [userId] identifier\n   * @param {string} [userName] display name\n   * @param {string} [domainId] identifier\n   * @param {string} [domainName] display name\n   * @param {string} [customerId]\n   * @param {Array<string>} [id] by serial number(s)\n   * @param {Array<string>} [product] by product name(s)\n   * @param {boolean} [valid] view: all|valid|grantable  show: available to be granted\n   * @param {string} [q] filter: term of search\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CustomersApi\n   */\n  public licenseUsage2(\n    size?: number,\n    page?: number,\n    fields?: Array<string>,\n    sort?: Array<string>,\n    userId?: string,\n    userName?: string,\n    domainId?: string,\n    domainName?: string,\n    customerId?: string,\n    id?: Array<string>,\n    product?: Array<string>,\n    valid?: boolean,\n    q?: string,\n    options?: any\n  ) {\n    return CustomersApiFp(this.configuration)\n      .licenseUsage2(\n        size,\n        page,\n        fields,\n        sort,\n        userId,\n        userName,\n        domainId,\n        domainName,\n        customerId,\n        id,\n        product,\n        valid,\n        q,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} [size] ----- Search Options ----- //  default: 16\n   * @param {number} [page] default: 1\n   * @param {Array<string>} [fields] set of output fields\n   * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n   * @param {string} [userId] identifier\n   * @param {string} [userName] display name\n   * @param {string} [domainId] identifier\n   * @param {string} [domainName] display name\n   * @param {string} [customerId]\n   * @param {Array<string>} [id] by serial number(s)\n   * @param {Array<string>} [product] by product name(s)\n   * @param {boolean} [valid] view: all|valid|grantable  show: available to be granted\n   * @param {string} [q] filter: term of search\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CustomersApi\n   */\n  public licenseUsage3(\n    size?: number,\n    page?: number,\n    fields?: Array<string>,\n    sort?: Array<string>,\n    userId?: string,\n    userName?: string,\n    domainId?: string,\n    domainName?: string,\n    customerId?: string,\n    id?: Array<string>,\n    product?: Array<string>,\n    valid?: boolean,\n    q?: string,\n    options?: any\n  ) {\n    return CustomersApiFp(this.configuration)\n      .licenseUsage3(\n        size,\n        page,\n        fields,\n        sort,\n        userId,\n        userName,\n        domainId,\n        domainName,\n        customerId,\n        id,\n        product,\n        valid,\n        q,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id ----- Search Filters ----- //  REQUIRED Product ID\n   * @param {number} [size] ----- Search Options ----- //  default: 16\n   * @param {number} [page] default: 1\n   * @param {Array<string>} [fields] set of output fields\n   * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n   * @param {string} [q] filter: term of search (username)\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CustomersApi\n   */\n  public licenseUsers(\n    id: string,\n    size?: number,\n    page?: number,\n    fields?: Array<string>,\n    sort?: Array<string>,\n    q?: string,\n    options?: any\n  ) {\n    return CustomersApiFp(this.configuration)\n      .licenseUsers(id, size, page, fields, sort, q, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CustomersApi\n   */\n  public serverInfo(options?: any) {\n    return CustomersApiFp(this.configuration)\n      .serverInfo(options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} [organization] [optional] e.g.: Example Org.\n   * @param {string} [logoPicture] [optional] logo source image\n   * @param {string} [certificate] [optional] raw bytes protobuf::base64.RawStdEncoding !&#x3D; certificate::base64.StdEncoding\n   * @param {boolean} [revoke]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof CustomersApi\n   */\n  public updateCustomer(\n    organization?: string,\n    logoPicture?: string,\n    certificate?: string,\n    revoke?: boolean,\n    options?: any\n  ) {\n    return CustomersApiFp(this.configuration)\n      .updateCustomer(organization, logoPicture, certificate, revoke, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { ApiCreateDeviceResponse } from '../api'\n// @ts-ignore\nimport { ApiDeleteDeviceResponse } from '../api'\n// @ts-ignore\nimport { ApiDevice } from '../api'\n// @ts-ignore\nimport { ApiDeviceAuditResponse } from '../api'\n// @ts-ignore\nimport { ApiListRegistrationsResponse } from '../api'\n// @ts-ignore\nimport { ApiReadDeviceResponse } from '../api'\n// @ts-ignore\nimport { ApiSearchDeviceResponse } from '../api'\n// @ts-ignore\nimport { ApiUpdateDeviceResponse } from '../api'\n// @ts-ignore\nimport { DeviceProfile } from '../api'\n// @ts-ignore\nimport { DeviceProfile1 } from '../api'\n/**\n * DevicesApi - axios parameter creator\n * @export\n */\nexport const DevicesApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {ApiDevice} device string password &#x3D; 2;\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createDevice: async (\n      device: ApiDevice,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'device' is not null or undefined\n      if (device === null || device === undefined) {\n        throw new RequiredError(\n          'device',\n          'Required parameter device was null or undefined when calling createDevice.'\n        )\n      }\n      const localVarPath = `/devices`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof device !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(device !== undefined ? device : {})\n        : device || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {boolean} [permanent]\n     * @param {Array<string>} [ids] bulk\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteDevice: async (\n      id: string,\n      permanent?: boolean,\n      ids?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteDevice.'\n        )\n      }\n      const localVarPath = `/devices/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (permanent !== undefined) {\n        localVarQueryParameter['permanent'] = permanent\n      }\n\n      if (ids) {\n        localVarQueryParameter['ids'] = ids\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {Array<string>} ids bulk\n     * @param {string} [id]\n     * @param {boolean} [permanent]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteDevice2: async (\n      ids: Array<string>,\n      id?: string,\n      permanent?: boolean,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'ids' is not null or undefined\n      if (ids === null || ids === undefined) {\n        throw new RequiredError(\n          'ids',\n          'Required parameter ids was null or undefined when calling deleteDevice2.'\n        )\n      }\n      const localVarPath = `/devices`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (id !== undefined) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (permanent !== undefined) {\n        localVarQueryParameter['permanent'] = permanent\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof ids !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(ids !== undefined ? ids : {})\n        : ids || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} deviceId Object ID\n     * @param {string} [userId] Object ID\n     * @param {string} [userName] Display Name\n     * @param {string} [deviceName] Display Name\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listRegistrations: async (\n      deviceId: string,\n      userId?: string,\n      userName?: string,\n      deviceName?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'deviceId' is not null or undefined\n      if (deviceId === null || deviceId === undefined) {\n        throw new RequiredError(\n          'deviceId',\n          'Required parameter deviceId was null or undefined when calling listRegistrations.'\n        )\n      }\n      const localVarPath = `/devices/{device.id}/registered`.replace(\n        `{${'device.id'}}`,\n        encodeURIComponent(String(deviceId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (userId !== undefined) {\n        localVarQueryParameter['user.id'] = userId\n      }\n\n      if (userName !== undefined) {\n        localVarQueryParameter['user.name'] = userName\n      }\n\n      if (deviceName !== undefined) {\n        localVarQueryParameter['device.name'] = deviceName\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {Array<string>} [fields] output selection\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readDevice: async (\n      id: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readDevice.'\n        )\n      }\n      const localVarPath = `/devices/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} [size] ----- Select Options -------------------------  default: 16\n     * @param {number} [page] default: 1\n     * @param {Array<string>} [fields] attributes list\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {Array<string>} [ids] ----- Search Basic Filters ---------------------------  selection: by unique identifier\n     * @param {string} [q] term-of-search: lookup[name,account,hotdesk,brand,model,mac,ip]\n     * @param {string} [name] case-ignore substring match: ILIKE \\&#39;*\\&#39; - any; \\&#39;?\\&#39; - one\n     * @param {string} [access] [M]andatory[A]ccess[C]ontrol: with access mode (action) granted!\n     * @param {string} [account] ----- Device-Specific Filters ----------------  substring like \\&#39;%name%\\&#39;\n     * @param {string} [hotdesk] filter: has hotdesk (&#x3D;pattern); is hotdesk (&#x3D;*)\n     * @param {string} [userId] Object ID\n     * @param {string} [userName] Display Name\n     * @param {string} [mac] filter: by MAC address\n     * @param {string} [ip] filter: by IP address\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchDevice: async (\n      size?: number,\n      page?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      ids?: Array<string>,\n      q?: string,\n      name?: string,\n      access?: string,\n      account?: string,\n      hotdesk?: string,\n      userId?: string,\n      userName?: string,\n      mac?: string,\n      ip?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/devices`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (ids) {\n        localVarQueryParameter['ids'] = ids\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (name !== undefined) {\n        localVarQueryParameter['name'] = name\n      }\n\n      if (access !== undefined) {\n        localVarQueryParameter['access'] = access\n      }\n\n      if (account !== undefined) {\n        localVarQueryParameter['account'] = account\n      }\n\n      if (hotdesk !== undefined) {\n        localVarQueryParameter['hotdesk'] = hotdesk\n      }\n\n      if (userId !== undefined) {\n        localVarQueryParameter['user.id'] = userId\n      }\n\n      if (userName !== undefined) {\n        localVarQueryParameter['user.name'] = userName\n      }\n\n      if (mac !== undefined) {\n        localVarQueryParameter['mac'] = mac\n      }\n\n      if (ip !== undefined) {\n        localVarQueryParameter['ip'] = ip\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary ----- Details (1:M) ----------------------------------------------\n     * @param {string} deviceId Object ID\n     * @param {string} [userId] Object ID\n     * @param {string} [userName] Display Name\n     * @param {string} [deviceName] Display Name\n     * @param {string} [timeFrom] Filter: timing range (optional)  unix milliseconds\n     * @param {string} [timeTill] unix milliseconds\n     * @param {Array<string>} [fields] Search Options\n     * @param {Array<string>} [sort]\n     * @param {number} [size]\n     * @param {number} [page]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchDeviceAudit: async (\n      deviceId: string,\n      userId?: string,\n      userName?: string,\n      deviceName?: string,\n      timeFrom?: string,\n      timeTill?: string,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      size?: number,\n      page?: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'deviceId' is not null or undefined\n      if (deviceId === null || deviceId === undefined) {\n        throw new RequiredError(\n          'deviceId',\n          'Required parameter deviceId was null or undefined when calling searchDeviceAudit.'\n        )\n      }\n      const localVarPath = `/devices/{device.id}/users/audit`.replace(\n        `{${'device.id'}}`,\n        encodeURIComponent(String(deviceId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (userId !== undefined) {\n        localVarQueryParameter['user.id'] = userId\n      }\n\n      if (userName !== undefined) {\n        localVarQueryParameter['user.name'] = userName\n      }\n\n      if (deviceName !== undefined) {\n        localVarQueryParameter['device.name'] = deviceName\n      }\n\n      if (timeFrom !== undefined) {\n        localVarQueryParameter['time_from'] = timeFrom\n      }\n\n      if (timeTill !== undefined) {\n        localVarQueryParameter['time_till'] = timeTill\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} deviceId object id\n     * @param {DeviceProfile} device\n     * @param {Array<string>} [fields] PATCH: partial update\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateDevice: async (\n      deviceId: string,\n      device: DeviceProfile,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'deviceId' is not null or undefined\n      if (deviceId === null || deviceId === undefined) {\n        throw new RequiredError(\n          'deviceId',\n          'Required parameter deviceId was null or undefined when calling updateDevice.'\n        )\n      }\n      // verify required parameter 'device' is not null or undefined\n      if (device === null || device === undefined) {\n        throw new RequiredError(\n          'device',\n          'Required parameter device was null or undefined when calling updateDevice.'\n        )\n      }\n      const localVarPath = `/devices/{device.id}`.replace(\n        `{${'device.id'}}`,\n        encodeURIComponent(String(deviceId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof device !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(device !== undefined ? device : {})\n        : device || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} deviceId object id\n     * @param {DeviceProfile1} device\n     * @param {Array<string>} [fields] PATCH: partial update\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateDevice2: async (\n      deviceId: string,\n      device: DeviceProfile1,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'deviceId' is not null or undefined\n      if (deviceId === null || deviceId === undefined) {\n        throw new RequiredError(\n          'deviceId',\n          'Required parameter deviceId was null or undefined when calling updateDevice2.'\n        )\n      }\n      // verify required parameter 'device' is not null or undefined\n      if (device === null || device === undefined) {\n        throw new RequiredError(\n          'device',\n          'Required parameter device was null or undefined when calling updateDevice2.'\n        )\n      }\n      const localVarPath = `/devices/{device.id}`.replace(\n        `{${'device.id'}}`,\n        encodeURIComponent(String(deviceId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof device !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(device !== undefined ? device : {})\n        : device || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * DevicesApi - functional programming interface\n * @export\n */\nexport const DevicesApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @param {ApiDevice} device string password &#x3D; 2;\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createDevice(\n      device: ApiDevice,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiCreateDeviceResponse>\n    > {\n      const localVarAxiosArgs = await DevicesApiAxiosParamCreator(\n        configuration\n      ).createDevice(device, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {boolean} [permanent]\n     * @param {Array<string>} [ids] bulk\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteDevice(\n      id: string,\n      permanent?: boolean,\n      ids?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiDeleteDeviceResponse>\n    > {\n      const localVarAxiosArgs = await DevicesApiAxiosParamCreator(\n        configuration\n      ).deleteDevice(id, permanent, ids, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {Array<string>} ids bulk\n     * @param {string} [id]\n     * @param {boolean} [permanent]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteDevice2(\n      ids: Array<string>,\n      id?: string,\n      permanent?: boolean,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiDeleteDeviceResponse>\n    > {\n      const localVarAxiosArgs = await DevicesApiAxiosParamCreator(\n        configuration\n      ).deleteDevice2(ids, id, permanent, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} deviceId Object ID\n     * @param {string} [userId] Object ID\n     * @param {string} [userName] Display Name\n     * @param {string} [deviceName] Display Name\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async listRegistrations(\n      deviceId: string,\n      userId?: string,\n      userName?: string,\n      deviceName?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiListRegistrationsResponse>\n    > {\n      const localVarAxiosArgs = await DevicesApiAxiosParamCreator(\n        configuration\n      ).listRegistrations(deviceId, userId, userName, deviceName, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {Array<string>} [fields] output selection\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readDevice(\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiReadDeviceResponse>\n    > {\n      const localVarAxiosArgs = await DevicesApiAxiosParamCreator(\n        configuration\n      ).readDevice(id, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} [size] ----- Select Options -------------------------  default: 16\n     * @param {number} [page] default: 1\n     * @param {Array<string>} [fields] attributes list\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {Array<string>} [ids] ----- Search Basic Filters ---------------------------  selection: by unique identifier\n     * @param {string} [q] term-of-search: lookup[name,account,hotdesk,brand,model,mac,ip]\n     * @param {string} [name] case-ignore substring match: ILIKE \\&#39;*\\&#39; - any; \\&#39;?\\&#39; - one\n     * @param {string} [access] [M]andatory[A]ccess[C]ontrol: with access mode (action) granted!\n     * @param {string} [account] ----- Device-Specific Filters ----------------  substring like \\&#39;%name%\\&#39;\n     * @param {string} [hotdesk] filter: has hotdesk (&#x3D;pattern); is hotdesk (&#x3D;*)\n     * @param {string} [userId] Object ID\n     * @param {string} [userName] Display Name\n     * @param {string} [mac] filter: by MAC address\n     * @param {string} [ip] filter: by IP address\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchDevice(\n      size?: number,\n      page?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      ids?: Array<string>,\n      q?: string,\n      name?: string,\n      access?: string,\n      account?: string,\n      hotdesk?: string,\n      userId?: string,\n      userName?: string,\n      mac?: string,\n      ip?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiSearchDeviceResponse>\n    > {\n      const localVarAxiosArgs = await DevicesApiAxiosParamCreator(\n        configuration\n      ).searchDevice(\n        size,\n        page,\n        fields,\n        sort,\n        ids,\n        q,\n        name,\n        access,\n        account,\n        hotdesk,\n        userId,\n        userName,\n        mac,\n        ip,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary ----- Details (1:M) ----------------------------------------------\n     * @param {string} deviceId Object ID\n     * @param {string} [userId] Object ID\n     * @param {string} [userName] Display Name\n     * @param {string} [deviceName] Display Name\n     * @param {string} [timeFrom] Filter: timing range (optional)  unix milliseconds\n     * @param {string} [timeTill] unix milliseconds\n     * @param {Array<string>} [fields] Search Options\n     * @param {Array<string>} [sort]\n     * @param {number} [size]\n     * @param {number} [page]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchDeviceAudit(\n      deviceId: string,\n      userId?: string,\n      userName?: string,\n      deviceName?: string,\n      timeFrom?: string,\n      timeTill?: string,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      size?: number,\n      page?: number,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiDeviceAuditResponse>\n    > {\n      const localVarAxiosArgs = await DevicesApiAxiosParamCreator(\n        configuration\n      ).searchDeviceAudit(\n        deviceId,\n        userId,\n        userName,\n        deviceName,\n        timeFrom,\n        timeTill,\n        fields,\n        sort,\n        size,\n        page,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} deviceId object id\n     * @param {DeviceProfile} device\n     * @param {Array<string>} [fields] PATCH: partial update\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateDevice(\n      deviceId: string,\n      device: DeviceProfile,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiUpdateDeviceResponse>\n    > {\n      const localVarAxiosArgs = await DevicesApiAxiosParamCreator(\n        configuration\n      ).updateDevice(deviceId, device, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} deviceId object id\n     * @param {DeviceProfile1} device\n     * @param {Array<string>} [fields] PATCH: partial update\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateDevice2(\n      deviceId: string,\n      device: DeviceProfile1,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiUpdateDeviceResponse>\n    > {\n      const localVarAxiosArgs = await DevicesApiAxiosParamCreator(\n        configuration\n      ).updateDevice2(deviceId, device, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * DevicesApi - factory interface\n * @export\n */\nexport const DevicesApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {ApiDevice} device string password &#x3D; 2;\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createDevice(\n      device: ApiDevice,\n      options?: any\n    ): AxiosPromise<ApiCreateDeviceResponse> {\n      return DevicesApiFp(configuration)\n        .createDevice(device, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {boolean} [permanent]\n     * @param {Array<string>} [ids] bulk\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteDevice(\n      id: string,\n      permanent?: boolean,\n      ids?: Array<string>,\n      options?: any\n    ): AxiosPromise<ApiDeleteDeviceResponse> {\n      return DevicesApiFp(configuration)\n        .deleteDevice(id, permanent, ids, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {Array<string>} ids bulk\n     * @param {string} [id]\n     * @param {boolean} [permanent]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteDevice2(\n      ids: Array<string>,\n      id?: string,\n      permanent?: boolean,\n      options?: any\n    ): AxiosPromise<ApiDeleteDeviceResponse> {\n      return DevicesApiFp(configuration)\n        .deleteDevice2(ids, id, permanent, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} deviceId Object ID\n     * @param {string} [userId] Object ID\n     * @param {string} [userName] Display Name\n     * @param {string} [deviceName] Display Name\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listRegistrations(\n      deviceId: string,\n      userId?: string,\n      userName?: string,\n      deviceName?: string,\n      options?: any\n    ): AxiosPromise<ApiListRegistrationsResponse> {\n      return DevicesApiFp(configuration)\n        .listRegistrations(deviceId, userId, userName, deviceName, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {Array<string>} [fields] output selection\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readDevice(\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<ApiReadDeviceResponse> {\n      return DevicesApiFp(configuration)\n        .readDevice(id, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} [size] ----- Select Options -------------------------  default: 16\n     * @param {number} [page] default: 1\n     * @param {Array<string>} [fields] attributes list\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {Array<string>} [ids] ----- Search Basic Filters ---------------------------  selection: by unique identifier\n     * @param {string} [q] term-of-search: lookup[name,account,hotdesk,brand,model,mac,ip]\n     * @param {string} [name] case-ignore substring match: ILIKE \\&#39;*\\&#39; - any; \\&#39;?\\&#39; - one\n     * @param {string} [access] [M]andatory[A]ccess[C]ontrol: with access mode (action) granted!\n     * @param {string} [account] ----- Device-Specific Filters ----------------  substring like \\&#39;%name%\\&#39;\n     * @param {string} [hotdesk] filter: has hotdesk (&#x3D;pattern); is hotdesk (&#x3D;*)\n     * @param {string} [userId] Object ID\n     * @param {string} [userName] Display Name\n     * @param {string} [mac] filter: by MAC address\n     * @param {string} [ip] filter: by IP address\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchDevice(\n      size?: number,\n      page?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      ids?: Array<string>,\n      q?: string,\n      name?: string,\n      access?: string,\n      account?: string,\n      hotdesk?: string,\n      userId?: string,\n      userName?: string,\n      mac?: string,\n      ip?: string,\n      options?: any\n    ): AxiosPromise<ApiSearchDeviceResponse> {\n      return DevicesApiFp(configuration)\n        .searchDevice(\n          size,\n          page,\n          fields,\n          sort,\n          ids,\n          q,\n          name,\n          access,\n          account,\n          hotdesk,\n          userId,\n          userName,\n          mac,\n          ip,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary ----- Details (1:M) ----------------------------------------------\n     * @param {string} deviceId Object ID\n     * @param {string} [userId] Object ID\n     * @param {string} [userName] Display Name\n     * @param {string} [deviceName] Display Name\n     * @param {string} [timeFrom] Filter: timing range (optional)  unix milliseconds\n     * @param {string} [timeTill] unix milliseconds\n     * @param {Array<string>} [fields] Search Options\n     * @param {Array<string>} [sort]\n     * @param {number} [size]\n     * @param {number} [page]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchDeviceAudit(\n      deviceId: string,\n      userId?: string,\n      userName?: string,\n      deviceName?: string,\n      timeFrom?: string,\n      timeTill?: string,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      size?: number,\n      page?: number,\n      options?: any\n    ): AxiosPromise<ApiDeviceAuditResponse> {\n      return DevicesApiFp(configuration)\n        .searchDeviceAudit(\n          deviceId,\n          userId,\n          userName,\n          deviceName,\n          timeFrom,\n          timeTill,\n          fields,\n          sort,\n          size,\n          page,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} deviceId object id\n     * @param {DeviceProfile} device\n     * @param {Array<string>} [fields] PATCH: partial update\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateDevice(\n      deviceId: string,\n      device: DeviceProfile,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<ApiUpdateDeviceResponse> {\n      return DevicesApiFp(configuration)\n        .updateDevice(deviceId, device, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} deviceId object id\n     * @param {DeviceProfile1} device\n     * @param {Array<string>} [fields] PATCH: partial update\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateDevice2(\n      deviceId: string,\n      device: DeviceProfile1,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<ApiUpdateDeviceResponse> {\n      return DevicesApiFp(configuration)\n        .updateDevice2(deviceId, device, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * DevicesApi - object-oriented interface\n * @export\n * @class DevicesApi\n * @extends {BaseAPI}\n */\nexport class DevicesApi extends BaseAPI {\n  /**\n   *\n   * @param {ApiDevice} device string password &#x3D; 2;\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DevicesApi\n   */\n  public createDevice(device: ApiDevice, options?: any) {\n    return DevicesApiFp(this.configuration)\n      .createDevice(device, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {boolean} [permanent]\n   * @param {Array<string>} [ids] bulk\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DevicesApi\n   */\n  public deleteDevice(\n    id: string,\n    permanent?: boolean,\n    ids?: Array<string>,\n    options?: any\n  ) {\n    return DevicesApiFp(this.configuration)\n      .deleteDevice(id, permanent, ids, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {Array<string>} ids bulk\n   * @param {string} [id]\n   * @param {boolean} [permanent]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DevicesApi\n   */\n  public deleteDevice2(\n    ids: Array<string>,\n    id?: string,\n    permanent?: boolean,\n    options?: any\n  ) {\n    return DevicesApiFp(this.configuration)\n      .deleteDevice2(ids, id, permanent, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} deviceId Object ID\n   * @param {string} [userId] Object ID\n   * @param {string} [userName] Display Name\n   * @param {string} [deviceName] Display Name\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DevicesApi\n   */\n  public listRegistrations(\n    deviceId: string,\n    userId?: string,\n    userName?: string,\n    deviceName?: string,\n    options?: any\n  ) {\n    return DevicesApiFp(this.configuration)\n      .listRegistrations(deviceId, userId, userName, deviceName, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {Array<string>} [fields] output selection\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DevicesApi\n   */\n  public readDevice(id: string, fields?: Array<string>, options?: any) {\n    return DevicesApiFp(this.configuration)\n      .readDevice(id, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} [size] ----- Select Options -------------------------  default: 16\n   * @param {number} [page] default: 1\n   * @param {Array<string>} [fields] attributes list\n   * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n   * @param {Array<string>} [ids] ----- Search Basic Filters ---------------------------  selection: by unique identifier\n   * @param {string} [q] term-of-search: lookup[name,account,hotdesk,brand,model,mac,ip]\n   * @param {string} [name] case-ignore substring match: ILIKE \\&#39;*\\&#39; - any; \\&#39;?\\&#39; - one\n   * @param {string} [access] [M]andatory[A]ccess[C]ontrol: with access mode (action) granted!\n   * @param {string} [account] ----- Device-Specific Filters ----------------  substring like \\&#39;%name%\\&#39;\n   * @param {string} [hotdesk] filter: has hotdesk (&#x3D;pattern); is hotdesk (&#x3D;*)\n   * @param {string} [userId] Object ID\n   * @param {string} [userName] Display Name\n   * @param {string} [mac] filter: by MAC address\n   * @param {string} [ip] filter: by IP address\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DevicesApi\n   */\n  public searchDevice(\n    size?: number,\n    page?: number,\n    fields?: Array<string>,\n    sort?: Array<string>,\n    ids?: Array<string>,\n    q?: string,\n    name?: string,\n    access?: string,\n    account?: string,\n    hotdesk?: string,\n    userId?: string,\n    userName?: string,\n    mac?: string,\n    ip?: string,\n    options?: any\n  ) {\n    return DevicesApiFp(this.configuration)\n      .searchDevice(\n        size,\n        page,\n        fields,\n        sort,\n        ids,\n        q,\n        name,\n        access,\n        account,\n        hotdesk,\n        userId,\n        userName,\n        mac,\n        ip,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary ----- Details (1:M) ----------------------------------------------\n   * @param {string} deviceId Object ID\n   * @param {string} [userId] Object ID\n   * @param {string} [userName] Display Name\n   * @param {string} [deviceName] Display Name\n   * @param {string} [timeFrom] Filter: timing range (optional)  unix milliseconds\n   * @param {string} [timeTill] unix milliseconds\n   * @param {Array<string>} [fields] Search Options\n   * @param {Array<string>} [sort]\n   * @param {number} [size]\n   * @param {number} [page]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DevicesApi\n   */\n  public searchDeviceAudit(\n    deviceId: string,\n    userId?: string,\n    userName?: string,\n    deviceName?: string,\n    timeFrom?: string,\n    timeTill?: string,\n    fields?: Array<string>,\n    sort?: Array<string>,\n    size?: number,\n    page?: number,\n    options?: any\n  ) {\n    return DevicesApiFp(this.configuration)\n      .searchDeviceAudit(\n        deviceId,\n        userId,\n        userName,\n        deviceName,\n        timeFrom,\n        timeTill,\n        fields,\n        sort,\n        size,\n        page,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} deviceId object id\n   * @param {DeviceProfile} device\n   * @param {Array<string>} [fields] PATCH: partial update\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DevicesApi\n   */\n  public updateDevice(\n    deviceId: string,\n    device: DeviceProfile,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return DevicesApiFp(this.configuration)\n      .updateDevice(deviceId, device, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} deviceId object id\n   * @param {DeviceProfile1} device\n   * @param {Array<string>} [fields] PATCH: partial update\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DevicesApi\n   */\n  public updateDevice2(\n    deviceId: string,\n    device: DeviceProfile1,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return DevicesApiFp(this.configuration)\n      .updateDevice2(deviceId, device, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { InlineObject2 } from '../api'\n// @ts-ignore\nimport { WebitelProtoDataDataset } from '../api'\n// @ts-ignore\nimport { WebitelProtoDataInputDictionary } from '../api'\n// @ts-ignore\nimport { WebitelProtoDataStruct } from '../api'\n// @ts-ignore\nimport { WebitelProtoDataStructList } from '../api'\n/**\n * DictionariesApi - axios parameter creator\n * @export\n */\nexport const DictionariesApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     * (Record) {\n     * @summary Create a dictionary record.\n     * @param {string} repo [&#x60;types.repo&#x60;]\n     * @param {object} record Record data.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createData: async (\n      repo: string,\n      record: object,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'repo' is not null or undefined\n      if (repo === null || repo === undefined) {\n        throw new RequiredError(\n          'repo',\n          'Required parameter repo was null or undefined when calling createData.'\n        )\n      }\n      // verify required parameter 'record' is not null or undefined\n      if (record === null || record === undefined) {\n        throw new RequiredError(\n          'record',\n          'Required parameter record was null or undefined when calling createData.'\n        )\n      }\n      const localVarPath = `/dictionaries/{repo}`.replace(\n        `{${'repo'}}`,\n        encodeURIComponent(String(repo))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof record !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(record !== undefined ? record : {})\n        : record || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     * (Dictionary) {\n     * @summary Create custom dictionary.\n     * @param {string} repo NEW [&#x60;types.repo&#x60;] repository name, e.g.: &#x60;countries&#x60;.\n     * @param {WebitelProtoDataInputDictionary} input NEW dictionary [type] definition.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createType: async (\n      repo: string,\n      input: WebitelProtoDataInputDictionary,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'repo' is not null or undefined\n      if (repo === null || repo === undefined) {\n        throw new RequiredError(\n          'repo',\n          'Required parameter repo was null or undefined when calling createType.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling createType.'\n        )\n      }\n      const localVarPath = `/types/dictionaries/{repo}`.replace(\n        `{${'repo'}}`,\n        encodeURIComponent(String(repo))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Delete a dictionary records.\n     * @param {string} repo [&#x60;types.repo&#x60;]\n     * @param {Array<string>} id [&#x60;record.id&#x60;]\n     * @param {Array<string>} [fields] Fields to be retrieved into result dataset.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteData: async (\n      repo: string,\n      id: Array<string>,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'repo' is not null or undefined\n      if (repo === null || repo === undefined) {\n        throw new RequiredError(\n          'repo',\n          'Required parameter repo was null or undefined when calling deleteData.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteData.'\n        )\n      }\n      const localVarPath = `/dictionaries/{repo}`.replace(\n        `{${'repo'}}`,\n        encodeURIComponent(String(repo))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Delete a dictionary records.\n     * @param {string} repo [&#x60;types.repo&#x60;]\n     * @param {Array<string>} id [&#x60;record.id&#x60;]\n     * @param {Array<string>} [fields] Fields to be retrieved into result dataset.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteData2: async (\n      repo: string,\n      id: Array<string>,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'repo' is not null or undefined\n      if (repo === null || repo === undefined) {\n        throw new RequiredError(\n          'repo',\n          'Required parameter repo was null or undefined when calling deleteData2.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteData2.'\n        )\n      }\n      const localVarPath = `/dictionaries/{repo}/{id}`\n        .replace(`{${'repo'}}`, encodeURIComponent(String(repo)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     * (DictionaryList) {\n     * @summary Delete custom dictionaries.\n     * @param {Array<string>} repo &#x60;types.repo&#x60;  // &#x60;record.pk&#x60;  repeated string id &#x3D; 3;\n     * @param {Array<string>} [fields] Fields to retrive into result dataset.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteType: async (\n      repo: Array<string>,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'repo' is not null or undefined\n      if (repo === null || repo === undefined) {\n        throw new RequiredError(\n          'repo',\n          'Required parameter repo was null or undefined when calling deleteType.'\n        )\n      }\n      const localVarPath = `/types/dictionaries`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (repo) {\n        localVarQueryParameter['repo'] = repo\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Import dataset from CSV file.\n     * @param {string} repo &#x60;types.repo&#x60;\n     * @param {InlineObject2} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    importCSV: async (\n      repo: string,\n      body: InlineObject2,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'repo' is not null or undefined\n      if (repo === null || repo === undefined) {\n        throw new RequiredError(\n          'repo',\n          'Required parameter repo was null or undefined when calling importCSV.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling importCSV.'\n        )\n      }\n      const localVarPath = `/dictionaries/{repo}/csv`.replace(\n        `{${'repo'}}`,\n        encodeURIComponent(String(repo))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     * (Record) {\n     * @summary Locate a dictionary record.\n     * @param {string} repo [&#x60;types.repo&#x60;]\n     * @param {string} id [&#x60;record.id&#x60;]\n     * @param {Array<string>} [fields] Fields [Q]uery to build result dataset record. &#x60;&#x60;&#x60; fields ::&#x3D; field [ *( \\&quot;,\\&quot; field ) ] field  ::&#x3D; name [ *( func ) ] [ inner ] inner  ::&#x3D; \\&quot;{\\&quot; fields \\&quot;}\\&quot; funcs  ::&#x3D; *( func ) func   ::&#x3D; \\&quot;.\\&quot; name \\&quot;(\\&quot; [ args ] \\&quot;)\\&quot; name   ::&#x3D; ALPHA / DIGIT / USCORE  ALPHA    &#x3D; %x41-5A / %x61-7A  ; \\&quot;A\\&quot;-\\&quot;Z\\&quot; / \\&quot;a\\&quot;-\\&quot;z\\&quot; DIGIT    &#x3D; %x30-39            ; \\&quot;0\\&quot;-\\&quot;9\\&quot; USCORE   &#x3D; %x5F ; underscore  ; \\&quot;_\\&quot; &#x60;&#x60;&#x60;\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateData: async (\n      repo: string,\n      id: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'repo' is not null or undefined\n      if (repo === null || repo === undefined) {\n        throw new RequiredError(\n          'repo',\n          'Required parameter repo was null or undefined when calling locateData.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling locateData.'\n        )\n      }\n      const localVarPath = `/dictionaries/{repo}/{id}`\n        .replace(`{${'repo'}}`, encodeURIComponent(String(repo)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     * (Dictionary) {\n     * @summary Locate the dictionary type.\n     * @param {string} repo &#x60;types.repo&#x60;\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateType: async (\n      repo: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'repo' is not null or undefined\n      if (repo === null || repo === undefined) {\n        throw new RequiredError(\n          'repo',\n          'Required parameter repo was null or undefined when calling locateType.'\n        )\n      }\n      const localVarPath = `/types/dictionaries/{repo}`.replace(\n        `{${'repo'}}`,\n        encodeURIComponent(String(repo))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Lookup a dictionary dataset.\n     * @param {string} repo [&#x60;types.repo&#x60;]\n     * @param {number} [size] Number of result records (per page). Default: 16.\n     * @param {number} [page] Page number of result set of records. Default: 1.\n     * @param {Array<string>} [sort] Sort result dataset of records by fields. &#x60;&#x60;&#x60; sort ::&#x3D; *( ORDER name )  ORDER  &#x3D; ASC / DESC DESC   &#x3D; \\&quot;-\\&quot; / \\&quot;!\\&quot; ASC    &#x3D; [ \\&quot;+\\&quot; ]   ; Default &#x60;&#x60;&#x60;  Fields available  - &#x60;id&#x60;(seq) - &#x60;domain&#x60;{name} - &#x60;created_at&#x60; - &#x60;created_by&#x60;{name} - &#x60;updated_at&#x60; - &#x60;updated_by&#x60;{name}  Use ?fields&#x3D;&#x60;field.sort()&#x60; option to sort Edge fields.\n     * @param {Array<string>} [fields] Fields [Q]uery to build result dataset record. &#x60;&#x60;&#x60; fields ::&#x3D; field [ *( \\&quot;,\\&quot; field ) ] field  ::&#x3D; name [ *( func ) ] [ inner ] inner  ::&#x3D; \\&quot;{\\&quot; fields \\&quot;}\\&quot; funcs  ::&#x3D; *( func ) func   ::&#x3D; \\&quot;.\\&quot; name \\&quot;(\\&quot; [ args ] \\&quot;)\\&quot; name   ::&#x3D; ALPHA / DIGIT / USCORE  ALPHA    &#x3D; %x41-5A / %x61-7A  ; \\&quot;A\\&quot;-\\&quot;Z\\&quot; / \\&quot;a\\&quot;-\\&quot;z\\&quot; DIGIT    &#x3D; %x30-39            ; \\&quot;0\\&quot;-\\&quot;9\\&quot; USCORE   &#x3D; %x5F ; underscore  ; \\&quot;_\\&quot; &#x60;&#x60;&#x60;\n     * @param {string} [q] Search term: &#x60;?&#x60; - matches any character &#x60;*&#x60; - matches 0 or more characters e.g.: name,emails{type},labels etc...\n     * @param {Array<string>} [id] [&#x60;record.id&#x60;]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchData: async (\n      repo: string,\n      size?: number,\n      page?: number,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      q?: string,\n      id?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'repo' is not null or undefined\n      if (repo === null || repo === undefined) {\n        throw new RequiredError(\n          'repo',\n          'Required parameter repo was null or undefined when calling searchData.'\n        )\n      }\n      const localVarPath = `/dictionaries/{repo}`.replace(\n        `{${'repo'}}`,\n        encodeURIComponent(String(repo))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Lookup dictionaries data types.\n     * @param {string} [q] Search term: &#x60;?&#x60; - matches any character &#x60;*&#x60; - matches 0 or more characters e.g.: name,emails{type},labels etc...\n     * @param {string} [id] &#x60;types.id&#x60;\n     * @param {string} [name] &#x60;types.name&#x60;\n     * @param {string} [repo] &#x60;types.repo&#x60;\n     * @param {string} [path] &#x60;types.path&#x60;\n     * @param {boolean} [readonly] [NOT] [ system / custom ] types only\n     * @param {boolean} [extendable] [NOT] Extend[able] types only.\n     * @param {boolean} [extensions] [NOT] include extensions/_* types.\n     * @param {boolean} [extended] [NOT] Extend[ed] types only.\n     * @param {boolean} [administered] [NOT] Administer access control only\n     * @param {number} [size] Number of result records (per page). Default: 16.\n     * @param {number} [page] Page number of result set of records. Default: 1.\n     * @param {Array<string>} [sort] Sort result dataset of records by fields. &#x60;&#x60;&#x60; sort ::&#x3D; *( ORDER name )  ORDER  &#x3D; ASC / DESC DESC   &#x3D; \\&quot;-\\&quot; / \\&quot;!\\&quot; ASC    &#x3D; [ \\&quot;+\\&quot; ]   ; Default &#x60;&#x60;&#x60;  Fields available  - &#x60;id&#x60;(seq) - &#x60;domain&#x60;{name} - &#x60;created_at&#x60; - &#x60;created_by&#x60;{name} - &#x60;updated_at&#x60; - &#x60;updated_by&#x60;{name}  Use ?fields&#x3D;&#x60;field.sort()&#x60; option to sort Edge fields.\n     * @param {Array<string>} [fields] Fields [Q]uery to build result dataset record. &#x60;&#x60;&#x60; fields ::&#x3D; field [ *( \\&quot;,\\&quot; field ) ] field  ::&#x3D; name [ *( func ) ] [ inner ] inner  ::&#x3D; \\&quot;{\\&quot; fields \\&quot;}\\&quot; funcs  ::&#x3D; *( func ) func   ::&#x3D; \\&quot;.\\&quot; name \\&quot;(\\&quot; [ args ] \\&quot;)\\&quot; name   ::&#x3D; ALPHA / DIGIT / USCORE  ALPHA    &#x3D; %x41-5A / %x61-7A  ; \\&quot;A\\&quot;-\\&quot;Z\\&quot; / \\&quot;a\\&quot;-\\&quot;z\\&quot; DIGIT    &#x3D; %x30-39            ; \\&quot;0\\&quot;-\\&quot;9\\&quot; USCORE   &#x3D; %x5F ; underscore  ; \\&quot;_\\&quot; &#x60;&#x60;&#x60;\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchType: async (\n      q?: string,\n      id?: string,\n      name?: string,\n      repo?: string,\n      path?: string,\n      readonly?: boolean,\n      extendable?: boolean,\n      extensions?: boolean,\n      extended?: boolean,\n      administered?: boolean,\n      size?: number,\n      page?: number,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/types/dictionaries`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (id !== undefined) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (name !== undefined) {\n        localVarQueryParameter['name'] = name\n      }\n\n      if (repo !== undefined) {\n        localVarQueryParameter['repo'] = repo\n      }\n\n      if (path !== undefined) {\n        localVarQueryParameter['path'] = path\n      }\n\n      if (readonly !== undefined) {\n        localVarQueryParameter['readonly'] = readonly\n      }\n\n      if (extendable !== undefined) {\n        localVarQueryParameter['extendable'] = extendable\n      }\n\n      if (extensions !== undefined) {\n        localVarQueryParameter['extensions'] = extensions\n      }\n\n      if (extended !== undefined) {\n        localVarQueryParameter['extended'] = extended\n      }\n\n      if (administered !== undefined) {\n        localVarQueryParameter['administered'] = administered\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     * (Record) {\n     * @summary Update a dictionary record.\n     * @param {string} repo [&#x60;types.repo&#x60;] data source\n     * @param {string} id [&#x60;record.id&#x60;] for update\n     * @param {object} record Record data fields changes.\n     * @param {Array<string>} [fields] Source Fields to return into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateData: async (\n      repo: string,\n      id: string,\n      record: object,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'repo' is not null or undefined\n      if (repo === null || repo === undefined) {\n        throw new RequiredError(\n          'repo',\n          'Required parameter repo was null or undefined when calling updateData.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateData.'\n        )\n      }\n      // verify required parameter 'record' is not null or undefined\n      if (record === null || record === undefined) {\n        throw new RequiredError(\n          'record',\n          'Required parameter record was null or undefined when calling updateData.'\n        )\n      }\n      const localVarPath = `/dictionaries/{repo}/{id}`\n        .replace(`{${'repo'}}`, encodeURIComponent(String(repo)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof record !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(record !== undefined ? record : {})\n        : record || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     * (Record) {\n     * @summary Update a dictionary record.\n     * @param {string} repo [&#x60;types.repo&#x60;] data source\n     * @param {string} id [&#x60;record.id&#x60;] for update\n     * @param {object} record Record data fields changes.\n     * @param {Array<string>} [fields] Source Fields to return into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateData2: async (\n      repo: string,\n      id: string,\n      record: object,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'repo' is not null or undefined\n      if (repo === null || repo === undefined) {\n        throw new RequiredError(\n          'repo',\n          'Required parameter repo was null or undefined when calling updateData2.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateData2.'\n        )\n      }\n      // verify required parameter 'record' is not null or undefined\n      if (record === null || record === undefined) {\n        throw new RequiredError(\n          'record',\n          'Required parameter record was null or undefined when calling updateData2.'\n        )\n      }\n      const localVarPath = `/dictionaries/{repo}/{id}`\n        .replace(`{${'repo'}}`, encodeURIComponent(String(repo)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof record !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(record !== undefined ? record : {})\n        : record || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     * (Dictionary) {\n     * @summary Update custom dictionary.\n     * @param {string} repo [**repo**] name of the dataset type, e.g.: &#x60;countries&#x60;.\n     * @param {WebitelProtoDataInputDictionary} input The dictionary [**type**] changes.\n     * @param {Array<string>} [fields] Fields to return into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateType: async (\n      repo: string,\n      input: WebitelProtoDataInputDictionary,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'repo' is not null or undefined\n      if (repo === null || repo === undefined) {\n        throw new RequiredError(\n          'repo',\n          'Required parameter repo was null or undefined when calling updateType.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateType.'\n        )\n      }\n      const localVarPath = `/types/dictionaries/{repo}`.replace(\n        `{${'repo'}}`,\n        encodeURIComponent(String(repo))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * DictionariesApi - functional programming interface\n * @export\n */\nexport const DictionariesApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     * (Record) {\n     * @summary Create a dictionary record.\n     * @param {string} repo [&#x60;types.repo&#x60;]\n     * @param {object} record Record data.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createData(\n      repo: string,\n      record: object,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>\n    > {\n      const localVarAxiosArgs = await DictionariesApiAxiosParamCreator(\n        configuration\n      ).createData(repo, record, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     * (Dictionary) {\n     * @summary Create custom dictionary.\n     * @param {string} repo NEW [&#x60;types.repo&#x60;] repository name, e.g.: &#x60;countries&#x60;.\n     * @param {WebitelProtoDataInputDictionary} input NEW dictionary [type] definition.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createType(\n      repo: string,\n      input: WebitelProtoDataInputDictionary,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelProtoDataStruct>\n    > {\n      const localVarAxiosArgs = await DictionariesApiAxiosParamCreator(\n        configuration\n      ).createType(repo, input, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Delete a dictionary records.\n     * @param {string} repo [&#x60;types.repo&#x60;]\n     * @param {Array<string>} id [&#x60;record.id&#x60;]\n     * @param {Array<string>} [fields] Fields to be retrieved into result dataset.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteData(\n      repo: string,\n      id: Array<string>,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelProtoDataDataset>\n    > {\n      const localVarAxiosArgs = await DictionariesApiAxiosParamCreator(\n        configuration\n      ).deleteData(repo, id, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Delete a dictionary records.\n     * @param {string} repo [&#x60;types.repo&#x60;]\n     * @param {Array<string>} id [&#x60;record.id&#x60;]\n     * @param {Array<string>} [fields] Fields to be retrieved into result dataset.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteData2(\n      repo: string,\n      id: Array<string>,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelProtoDataDataset>\n    > {\n      const localVarAxiosArgs = await DictionariesApiAxiosParamCreator(\n        configuration\n      ).deleteData2(repo, id, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     * (DictionaryList) {\n     * @summary Delete custom dictionaries.\n     * @param {Array<string>} repo &#x60;types.repo&#x60;  // &#x60;record.pk&#x60;  repeated string id &#x3D; 3;\n     * @param {Array<string>} [fields] Fields to retrive into result dataset.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteType(\n      repo: Array<string>,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelProtoDataStructList>\n    > {\n      const localVarAxiosArgs = await DictionariesApiAxiosParamCreator(\n        configuration\n      ).deleteType(repo, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Import dataset from CSV file.\n     * @param {string} repo &#x60;types.repo&#x60;\n     * @param {InlineObject2} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async importCSV(\n      repo: string,\n      body: InlineObject2,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelProtoDataDataset>\n    > {\n      const localVarAxiosArgs = await DictionariesApiAxiosParamCreator(\n        configuration\n      ).importCSV(repo, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     * (Record) {\n     * @summary Locate a dictionary record.\n     * @param {string} repo [&#x60;types.repo&#x60;]\n     * @param {string} id [&#x60;record.id&#x60;]\n     * @param {Array<string>} [fields] Fields [Q]uery to build result dataset record. &#x60;&#x60;&#x60; fields ::&#x3D; field [ *( \\&quot;,\\&quot; field ) ] field  ::&#x3D; name [ *( func ) ] [ inner ] inner  ::&#x3D; \\&quot;{\\&quot; fields \\&quot;}\\&quot; funcs  ::&#x3D; *( func ) func   ::&#x3D; \\&quot;.\\&quot; name \\&quot;(\\&quot; [ args ] \\&quot;)\\&quot; name   ::&#x3D; ALPHA / DIGIT / USCORE  ALPHA    &#x3D; %x41-5A / %x61-7A  ; \\&quot;A\\&quot;-\\&quot;Z\\&quot; / \\&quot;a\\&quot;-\\&quot;z\\&quot; DIGIT    &#x3D; %x30-39            ; \\&quot;0\\&quot;-\\&quot;9\\&quot; USCORE   &#x3D; %x5F ; underscore  ; \\&quot;_\\&quot; &#x60;&#x60;&#x60;\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async locateData(\n      repo: string,\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>\n    > {\n      const localVarAxiosArgs = await DictionariesApiAxiosParamCreator(\n        configuration\n      ).locateData(repo, id, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     * (Dictionary) {\n     * @summary Locate the dictionary type.\n     * @param {string} repo &#x60;types.repo&#x60;\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async locateType(\n      repo: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelProtoDataStruct>\n    > {\n      const localVarAxiosArgs = await DictionariesApiAxiosParamCreator(\n        configuration\n      ).locateType(repo, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Lookup a dictionary dataset.\n     * @param {string} repo [&#x60;types.repo&#x60;]\n     * @param {number} [size] Number of result records (per page). Default: 16.\n     * @param {number} [page] Page number of result set of records. Default: 1.\n     * @param {Array<string>} [sort] Sort result dataset of records by fields. &#x60;&#x60;&#x60; sort ::&#x3D; *( ORDER name )  ORDER  &#x3D; ASC / DESC DESC   &#x3D; \\&quot;-\\&quot; / \\&quot;!\\&quot; ASC    &#x3D; [ \\&quot;+\\&quot; ]   ; Default &#x60;&#x60;&#x60;  Fields available  - &#x60;id&#x60;(seq) - &#x60;domain&#x60;{name} - &#x60;created_at&#x60; - &#x60;created_by&#x60;{name} - &#x60;updated_at&#x60; - &#x60;updated_by&#x60;{name}  Use ?fields&#x3D;&#x60;field.sort()&#x60; option to sort Edge fields.\n     * @param {Array<string>} [fields] Fields [Q]uery to build result dataset record. &#x60;&#x60;&#x60; fields ::&#x3D; field [ *( \\&quot;,\\&quot; field ) ] field  ::&#x3D; name [ *( func ) ] [ inner ] inner  ::&#x3D; \\&quot;{\\&quot; fields \\&quot;}\\&quot; funcs  ::&#x3D; *( func ) func   ::&#x3D; \\&quot;.\\&quot; name \\&quot;(\\&quot; [ args ] \\&quot;)\\&quot; name   ::&#x3D; ALPHA / DIGIT / USCORE  ALPHA    &#x3D; %x41-5A / %x61-7A  ; \\&quot;A\\&quot;-\\&quot;Z\\&quot; / \\&quot;a\\&quot;-\\&quot;z\\&quot; DIGIT    &#x3D; %x30-39            ; \\&quot;0\\&quot;-\\&quot;9\\&quot; USCORE   &#x3D; %x5F ; underscore  ; \\&quot;_\\&quot; &#x60;&#x60;&#x60;\n     * @param {string} [q] Search term: &#x60;?&#x60; - matches any character &#x60;*&#x60; - matches 0 or more characters e.g.: name,emails{type},labels etc...\n     * @param {Array<string>} [id] [&#x60;record.id&#x60;]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchData(\n      repo: string,\n      size?: number,\n      page?: number,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      q?: string,\n      id?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelProtoDataDataset>\n    > {\n      const localVarAxiosArgs = await DictionariesApiAxiosParamCreator(\n        configuration\n      ).searchData(repo, size, page, sort, fields, q, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Lookup dictionaries data types.\n     * @param {string} [q] Search term: &#x60;?&#x60; - matches any character &#x60;*&#x60; - matches 0 or more characters e.g.: name,emails{type},labels etc...\n     * @param {string} [id] &#x60;types.id&#x60;\n     * @param {string} [name] &#x60;types.name&#x60;\n     * @param {string} [repo] &#x60;types.repo&#x60;\n     * @param {string} [path] &#x60;types.path&#x60;\n     * @param {boolean} [readonly] [NOT] [ system / custom ] types only\n     * @param {boolean} [extendable] [NOT] Extend[able] types only.\n     * @param {boolean} [extensions] [NOT] include extensions/_* types.\n     * @param {boolean} [extended] [NOT] Extend[ed] types only.\n     * @param {boolean} [administered] [NOT] Administer access control only\n     * @param {number} [size] Number of result records (per page). Default: 16.\n     * @param {number} [page] Page number of result set of records. Default: 1.\n     * @param {Array<string>} [sort] Sort result dataset of records by fields. &#x60;&#x60;&#x60; sort ::&#x3D; *( ORDER name )  ORDER  &#x3D; ASC / DESC DESC   &#x3D; \\&quot;-\\&quot; / \\&quot;!\\&quot; ASC    &#x3D; [ \\&quot;+\\&quot; ]   ; Default &#x60;&#x60;&#x60;  Fields available  - &#x60;id&#x60;(seq) - &#x60;domain&#x60;{name} - &#x60;created_at&#x60; - &#x60;created_by&#x60;{name} - &#x60;updated_at&#x60; - &#x60;updated_by&#x60;{name}  Use ?fields&#x3D;&#x60;field.sort()&#x60; option to sort Edge fields.\n     * @param {Array<string>} [fields] Fields [Q]uery to build result dataset record. &#x60;&#x60;&#x60; fields ::&#x3D; field [ *( \\&quot;,\\&quot; field ) ] field  ::&#x3D; name [ *( func ) ] [ inner ] inner  ::&#x3D; \\&quot;{\\&quot; fields \\&quot;}\\&quot; funcs  ::&#x3D; *( func ) func   ::&#x3D; \\&quot;.\\&quot; name \\&quot;(\\&quot; [ args ] \\&quot;)\\&quot; name   ::&#x3D; ALPHA / DIGIT / USCORE  ALPHA    &#x3D; %x41-5A / %x61-7A  ; \\&quot;A\\&quot;-\\&quot;Z\\&quot; / \\&quot;a\\&quot;-\\&quot;z\\&quot; DIGIT    &#x3D; %x30-39            ; \\&quot;0\\&quot;-\\&quot;9\\&quot; USCORE   &#x3D; %x5F ; underscore  ; \\&quot;_\\&quot; &#x60;&#x60;&#x60;\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchType(\n      q?: string,\n      id?: string,\n      name?: string,\n      repo?: string,\n      path?: string,\n      readonly?: boolean,\n      extendable?: boolean,\n      extensions?: boolean,\n      extended?: boolean,\n      administered?: boolean,\n      size?: number,\n      page?: number,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelProtoDataStructList>\n    > {\n      const localVarAxiosArgs = await DictionariesApiAxiosParamCreator(\n        configuration\n      ).searchType(\n        q,\n        id,\n        name,\n        repo,\n        path,\n        readonly,\n        extendable,\n        extensions,\n        extended,\n        administered,\n        size,\n        page,\n        sort,\n        fields,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     * (Record) {\n     * @summary Update a dictionary record.\n     * @param {string} repo [&#x60;types.repo&#x60;] data source\n     * @param {string} id [&#x60;record.id&#x60;] for update\n     * @param {object} record Record data fields changes.\n     * @param {Array<string>} [fields] Source Fields to return into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateData(\n      repo: string,\n      id: string,\n      record: object,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>\n    > {\n      const localVarAxiosArgs = await DictionariesApiAxiosParamCreator(\n        configuration\n      ).updateData(repo, id, record, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     * (Record) {\n     * @summary Update a dictionary record.\n     * @param {string} repo [&#x60;types.repo&#x60;] data source\n     * @param {string} id [&#x60;record.id&#x60;] for update\n     * @param {object} record Record data fields changes.\n     * @param {Array<string>} [fields] Source Fields to return into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateData2(\n      repo: string,\n      id: string,\n      record: object,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>\n    > {\n      const localVarAxiosArgs = await DictionariesApiAxiosParamCreator(\n        configuration\n      ).updateData2(repo, id, record, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     * (Dictionary) {\n     * @summary Update custom dictionary.\n     * @param {string} repo [**repo**] name of the dataset type, e.g.: &#x60;countries&#x60;.\n     * @param {WebitelProtoDataInputDictionary} input The dictionary [**type**] changes.\n     * @param {Array<string>} [fields] Fields to return into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateType(\n      repo: string,\n      input: WebitelProtoDataInputDictionary,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelProtoDataStruct>\n    > {\n      const localVarAxiosArgs = await DictionariesApiAxiosParamCreator(\n        configuration\n      ).updateType(repo, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * DictionariesApi - factory interface\n * @export\n */\nexport const DictionariesApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     * (Record) {\n     * @summary Create a dictionary record.\n     * @param {string} repo [&#x60;types.repo&#x60;]\n     * @param {object} record Record data.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createData(\n      repo: string,\n      record: object,\n      options?: any\n    ): AxiosPromise<object> {\n      return DictionariesApiFp(configuration)\n        .createData(repo, record, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     * (Dictionary) {\n     * @summary Create custom dictionary.\n     * @param {string} repo NEW [&#x60;types.repo&#x60;] repository name, e.g.: &#x60;countries&#x60;.\n     * @param {WebitelProtoDataInputDictionary} input NEW dictionary [type] definition.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createType(\n      repo: string,\n      input: WebitelProtoDataInputDictionary,\n      options?: any\n    ): AxiosPromise<WebitelProtoDataStruct> {\n      return DictionariesApiFp(configuration)\n        .createType(repo, input, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Delete a dictionary records.\n     * @param {string} repo [&#x60;types.repo&#x60;]\n     * @param {Array<string>} id [&#x60;record.id&#x60;]\n     * @param {Array<string>} [fields] Fields to be retrieved into result dataset.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteData(\n      repo: string,\n      id: Array<string>,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelProtoDataDataset> {\n      return DictionariesApiFp(configuration)\n        .deleteData(repo, id, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Delete a dictionary records.\n     * @param {string} repo [&#x60;types.repo&#x60;]\n     * @param {Array<string>} id [&#x60;record.id&#x60;]\n     * @param {Array<string>} [fields] Fields to be retrieved into result dataset.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteData2(\n      repo: string,\n      id: Array<string>,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelProtoDataDataset> {\n      return DictionariesApiFp(configuration)\n        .deleteData2(repo, id, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     * (DictionaryList) {\n     * @summary Delete custom dictionaries.\n     * @param {Array<string>} repo &#x60;types.repo&#x60;  // &#x60;record.pk&#x60;  repeated string id &#x3D; 3;\n     * @param {Array<string>} [fields] Fields to retrive into result dataset.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteType(\n      repo: Array<string>,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelProtoDataStructList> {\n      return DictionariesApiFp(configuration)\n        .deleteType(repo, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Import dataset from CSV file.\n     * @param {string} repo &#x60;types.repo&#x60;\n     * @param {InlineObject2} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    importCSV(\n      repo: string,\n      body: InlineObject2,\n      options?: any\n    ): AxiosPromise<WebitelProtoDataDataset> {\n      return DictionariesApiFp(configuration)\n        .importCSV(repo, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     * (Record) {\n     * @summary Locate a dictionary record.\n     * @param {string} repo [&#x60;types.repo&#x60;]\n     * @param {string} id [&#x60;record.id&#x60;]\n     * @param {Array<string>} [fields] Fields [Q]uery to build result dataset record. &#x60;&#x60;&#x60; fields ::&#x3D; field [ *( \\&quot;,\\&quot; field ) ] field  ::&#x3D; name [ *( func ) ] [ inner ] inner  ::&#x3D; \\&quot;{\\&quot; fields \\&quot;}\\&quot; funcs  ::&#x3D; *( func ) func   ::&#x3D; \\&quot;.\\&quot; name \\&quot;(\\&quot; [ args ] \\&quot;)\\&quot; name   ::&#x3D; ALPHA / DIGIT / USCORE  ALPHA    &#x3D; %x41-5A / %x61-7A  ; \\&quot;A\\&quot;-\\&quot;Z\\&quot; / \\&quot;a\\&quot;-\\&quot;z\\&quot; DIGIT    &#x3D; %x30-39            ; \\&quot;0\\&quot;-\\&quot;9\\&quot; USCORE   &#x3D; %x5F ; underscore  ; \\&quot;_\\&quot; &#x60;&#x60;&#x60;\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateData(\n      repo: string,\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<object> {\n      return DictionariesApiFp(configuration)\n        .locateData(repo, id, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     * (Dictionary) {\n     * @summary Locate the dictionary type.\n     * @param {string} repo &#x60;types.repo&#x60;\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateType(\n      repo: string,\n      options?: any\n    ): AxiosPromise<WebitelProtoDataStruct> {\n      return DictionariesApiFp(configuration)\n        .locateType(repo, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Lookup a dictionary dataset.\n     * @param {string} repo [&#x60;types.repo&#x60;]\n     * @param {number} [size] Number of result records (per page). Default: 16.\n     * @param {number} [page] Page number of result set of records. Default: 1.\n     * @param {Array<string>} [sort] Sort result dataset of records by fields. &#x60;&#x60;&#x60; sort ::&#x3D; *( ORDER name )  ORDER  &#x3D; ASC / DESC DESC   &#x3D; \\&quot;-\\&quot; / \\&quot;!\\&quot; ASC    &#x3D; [ \\&quot;+\\&quot; ]   ; Default &#x60;&#x60;&#x60;  Fields available  - &#x60;id&#x60;(seq) - &#x60;domain&#x60;{name} - &#x60;created_at&#x60; - &#x60;created_by&#x60;{name} - &#x60;updated_at&#x60; - &#x60;updated_by&#x60;{name}  Use ?fields&#x3D;&#x60;field.sort()&#x60; option to sort Edge fields.\n     * @param {Array<string>} [fields] Fields [Q]uery to build result dataset record. &#x60;&#x60;&#x60; fields ::&#x3D; field [ *( \\&quot;,\\&quot; field ) ] field  ::&#x3D; name [ *( func ) ] [ inner ] inner  ::&#x3D; \\&quot;{\\&quot; fields \\&quot;}\\&quot; funcs  ::&#x3D; *( func ) func   ::&#x3D; \\&quot;.\\&quot; name \\&quot;(\\&quot; [ args ] \\&quot;)\\&quot; name   ::&#x3D; ALPHA / DIGIT / USCORE  ALPHA    &#x3D; %x41-5A / %x61-7A  ; \\&quot;A\\&quot;-\\&quot;Z\\&quot; / \\&quot;a\\&quot;-\\&quot;z\\&quot; DIGIT    &#x3D; %x30-39            ; \\&quot;0\\&quot;-\\&quot;9\\&quot; USCORE   &#x3D; %x5F ; underscore  ; \\&quot;_\\&quot; &#x60;&#x60;&#x60;\n     * @param {string} [q] Search term: &#x60;?&#x60; - matches any character &#x60;*&#x60; - matches 0 or more characters e.g.: name,emails{type},labels etc...\n     * @param {Array<string>} [id] [&#x60;record.id&#x60;]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchData(\n      repo: string,\n      size?: number,\n      page?: number,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      q?: string,\n      id?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelProtoDataDataset> {\n      return DictionariesApiFp(configuration)\n        .searchData(repo, size, page, sort, fields, q, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Lookup dictionaries data types.\n     * @param {string} [q] Search term: &#x60;?&#x60; - matches any character &#x60;*&#x60; - matches 0 or more characters e.g.: name,emails{type},labels etc...\n     * @param {string} [id] &#x60;types.id&#x60;\n     * @param {string} [name] &#x60;types.name&#x60;\n     * @param {string} [repo] &#x60;types.repo&#x60;\n     * @param {string} [path] &#x60;types.path&#x60;\n     * @param {boolean} [readonly] [NOT] [ system / custom ] types only\n     * @param {boolean} [extendable] [NOT] Extend[able] types only.\n     * @param {boolean} [extensions] [NOT] include extensions/_* types.\n     * @param {boolean} [extended] [NOT] Extend[ed] types only.\n     * @param {boolean} [administered] [NOT] Administer access control only\n     * @param {number} [size] Number of result records (per page). Default: 16.\n     * @param {number} [page] Page number of result set of records. Default: 1.\n     * @param {Array<string>} [sort] Sort result dataset of records by fields. &#x60;&#x60;&#x60; sort ::&#x3D; *( ORDER name )  ORDER  &#x3D; ASC / DESC DESC   &#x3D; \\&quot;-\\&quot; / \\&quot;!\\&quot; ASC    &#x3D; [ \\&quot;+\\&quot; ]   ; Default &#x60;&#x60;&#x60;  Fields available  - &#x60;id&#x60;(seq) - &#x60;domain&#x60;{name} - &#x60;created_at&#x60; - &#x60;created_by&#x60;{name} - &#x60;updated_at&#x60; - &#x60;updated_by&#x60;{name}  Use ?fields&#x3D;&#x60;field.sort()&#x60; option to sort Edge fields.\n     * @param {Array<string>} [fields] Fields [Q]uery to build result dataset record. &#x60;&#x60;&#x60; fields ::&#x3D; field [ *( \\&quot;,\\&quot; field ) ] field  ::&#x3D; name [ *( func ) ] [ inner ] inner  ::&#x3D; \\&quot;{\\&quot; fields \\&quot;}\\&quot; funcs  ::&#x3D; *( func ) func   ::&#x3D; \\&quot;.\\&quot; name \\&quot;(\\&quot; [ args ] \\&quot;)\\&quot; name   ::&#x3D; ALPHA / DIGIT / USCORE  ALPHA    &#x3D; %x41-5A / %x61-7A  ; \\&quot;A\\&quot;-\\&quot;Z\\&quot; / \\&quot;a\\&quot;-\\&quot;z\\&quot; DIGIT    &#x3D; %x30-39            ; \\&quot;0\\&quot;-\\&quot;9\\&quot; USCORE   &#x3D; %x5F ; underscore  ; \\&quot;_\\&quot; &#x60;&#x60;&#x60;\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchType(\n      q?: string,\n      id?: string,\n      name?: string,\n      repo?: string,\n      path?: string,\n      readonly?: boolean,\n      extendable?: boolean,\n      extensions?: boolean,\n      extended?: boolean,\n      administered?: boolean,\n      size?: number,\n      page?: number,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelProtoDataStructList> {\n      return DictionariesApiFp(configuration)\n        .searchType(\n          q,\n          id,\n          name,\n          repo,\n          path,\n          readonly,\n          extendable,\n          extensions,\n          extended,\n          administered,\n          size,\n          page,\n          sort,\n          fields,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     * (Record) {\n     * @summary Update a dictionary record.\n     * @param {string} repo [&#x60;types.repo&#x60;] data source\n     * @param {string} id [&#x60;record.id&#x60;] for update\n     * @param {object} record Record data fields changes.\n     * @param {Array<string>} [fields] Source Fields to return into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateData(\n      repo: string,\n      id: string,\n      record: object,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<object> {\n      return DictionariesApiFp(configuration)\n        .updateData(repo, id, record, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     * (Record) {\n     * @summary Update a dictionary record.\n     * @param {string} repo [&#x60;types.repo&#x60;] data source\n     * @param {string} id [&#x60;record.id&#x60;] for update\n     * @param {object} record Record data fields changes.\n     * @param {Array<string>} [fields] Source Fields to return into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateData2(\n      repo: string,\n      id: string,\n      record: object,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<object> {\n      return DictionariesApiFp(configuration)\n        .updateData2(repo, id, record, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     * (Dictionary) {\n     * @summary Update custom dictionary.\n     * @param {string} repo [**repo**] name of the dataset type, e.g.: &#x60;countries&#x60;.\n     * @param {WebitelProtoDataInputDictionary} input The dictionary [**type**] changes.\n     * @param {Array<string>} [fields] Fields to return into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateType(\n      repo: string,\n      input: WebitelProtoDataInputDictionary,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelProtoDataStruct> {\n      return DictionariesApiFp(configuration)\n        .updateType(repo, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * DictionariesApi - object-oriented interface\n * @export\n * @class DictionariesApi\n * @extends {BaseAPI}\n */\nexport class DictionariesApi extends BaseAPI {\n  /**\n   * (Record) {\n   * @summary Create a dictionary record.\n   * @param {string} repo [&#x60;types.repo&#x60;]\n   * @param {object} record Record data.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DictionariesApi\n   */\n  public createData(repo: string, record: object, options?: any) {\n    return DictionariesApiFp(this.configuration)\n      .createData(repo, record, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   * (Dictionary) {\n   * @summary Create custom dictionary.\n   * @param {string} repo NEW [&#x60;types.repo&#x60;] repository name, e.g.: &#x60;countries&#x60;.\n   * @param {WebitelProtoDataInputDictionary} input NEW dictionary [type] definition.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DictionariesApi\n   */\n  public createType(\n    repo: string,\n    input: WebitelProtoDataInputDictionary,\n    options?: any\n  ) {\n    return DictionariesApiFp(this.configuration)\n      .createType(repo, input, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Delete a dictionary records.\n   * @param {string} repo [&#x60;types.repo&#x60;]\n   * @param {Array<string>} id [&#x60;record.id&#x60;]\n   * @param {Array<string>} [fields] Fields to be retrieved into result dataset.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DictionariesApi\n   */\n  public deleteData(\n    repo: string,\n    id: Array<string>,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return DictionariesApiFp(this.configuration)\n      .deleteData(repo, id, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Delete a dictionary records.\n   * @param {string} repo [&#x60;types.repo&#x60;]\n   * @param {Array<string>} id [&#x60;record.id&#x60;]\n   * @param {Array<string>} [fields] Fields to be retrieved into result dataset.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DictionariesApi\n   */\n  public deleteData2(\n    repo: string,\n    id: Array<string>,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return DictionariesApiFp(this.configuration)\n      .deleteData2(repo, id, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   * (DictionaryList) {\n   * @summary Delete custom dictionaries.\n   * @param {Array<string>} repo &#x60;types.repo&#x60;  // &#x60;record.pk&#x60;  repeated string id &#x3D; 3;\n   * @param {Array<string>} [fields] Fields to retrive into result dataset.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DictionariesApi\n   */\n  public deleteType(\n    repo: Array<string>,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return DictionariesApiFp(this.configuration)\n      .deleteType(repo, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Import dataset from CSV file.\n   * @param {string} repo &#x60;types.repo&#x60;\n   * @param {InlineObject2} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DictionariesApi\n   */\n  public importCSV(repo: string, body: InlineObject2, options?: any) {\n    return DictionariesApiFp(this.configuration)\n      .importCSV(repo, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   * (Record) {\n   * @summary Locate a dictionary record.\n   * @param {string} repo [&#x60;types.repo&#x60;]\n   * @param {string} id [&#x60;record.id&#x60;]\n   * @param {Array<string>} [fields] Fields [Q]uery to build result dataset record. &#x60;&#x60;&#x60; fields ::&#x3D; field [ *( \\&quot;,\\&quot; field ) ] field  ::&#x3D; name [ *( func ) ] [ inner ] inner  ::&#x3D; \\&quot;{\\&quot; fields \\&quot;}\\&quot; funcs  ::&#x3D; *( func ) func   ::&#x3D; \\&quot;.\\&quot; name \\&quot;(\\&quot; [ args ] \\&quot;)\\&quot; name   ::&#x3D; ALPHA / DIGIT / USCORE  ALPHA    &#x3D; %x41-5A / %x61-7A  ; \\&quot;A\\&quot;-\\&quot;Z\\&quot; / \\&quot;a\\&quot;-\\&quot;z\\&quot; DIGIT    &#x3D; %x30-39            ; \\&quot;0\\&quot;-\\&quot;9\\&quot; USCORE   &#x3D; %x5F ; underscore  ; \\&quot;_\\&quot; &#x60;&#x60;&#x60;\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DictionariesApi\n   */\n  public locateData(\n    repo: string,\n    id: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return DictionariesApiFp(this.configuration)\n      .locateData(repo, id, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   * (Dictionary) {\n   * @summary Locate the dictionary type.\n   * @param {string} repo &#x60;types.repo&#x60;\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DictionariesApi\n   */\n  public locateType(repo: string, options?: any) {\n    return DictionariesApiFp(this.configuration)\n      .locateType(repo, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Lookup a dictionary dataset.\n   * @param {string} repo [&#x60;types.repo&#x60;]\n   * @param {number} [size] Number of result records (per page). Default: 16.\n   * @param {number} [page] Page number of result set of records. Default: 1.\n   * @param {Array<string>} [sort] Sort result dataset of records by fields. &#x60;&#x60;&#x60; sort ::&#x3D; *( ORDER name )  ORDER  &#x3D; ASC / DESC DESC   &#x3D; \\&quot;-\\&quot; / \\&quot;!\\&quot; ASC    &#x3D; [ \\&quot;+\\&quot; ]   ; Default &#x60;&#x60;&#x60;  Fields available  - &#x60;id&#x60;(seq) - &#x60;domain&#x60;{name} - &#x60;created_at&#x60; - &#x60;created_by&#x60;{name} - &#x60;updated_at&#x60; - &#x60;updated_by&#x60;{name}  Use ?fields&#x3D;&#x60;field.sort()&#x60; option to sort Edge fields.\n   * @param {Array<string>} [fields] Fields [Q]uery to build result dataset record. &#x60;&#x60;&#x60; fields ::&#x3D; field [ *( \\&quot;,\\&quot; field ) ] field  ::&#x3D; name [ *( func ) ] [ inner ] inner  ::&#x3D; \\&quot;{\\&quot; fields \\&quot;}\\&quot; funcs  ::&#x3D; *( func ) func   ::&#x3D; \\&quot;.\\&quot; name \\&quot;(\\&quot; [ args ] \\&quot;)\\&quot; name   ::&#x3D; ALPHA / DIGIT / USCORE  ALPHA    &#x3D; %x41-5A / %x61-7A  ; \\&quot;A\\&quot;-\\&quot;Z\\&quot; / \\&quot;a\\&quot;-\\&quot;z\\&quot; DIGIT    &#x3D; %x30-39            ; \\&quot;0\\&quot;-\\&quot;9\\&quot; USCORE   &#x3D; %x5F ; underscore  ; \\&quot;_\\&quot; &#x60;&#x60;&#x60;\n   * @param {string} [q] Search term: &#x60;?&#x60; - matches any character &#x60;*&#x60; - matches 0 or more characters e.g.: name,emails{type},labels etc...\n   * @param {Array<string>} [id] [&#x60;record.id&#x60;]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DictionariesApi\n   */\n  public searchData(\n    repo: string,\n    size?: number,\n    page?: number,\n    sort?: Array<string>,\n    fields?: Array<string>,\n    q?: string,\n    id?: Array<string>,\n    options?: any\n  ) {\n    return DictionariesApiFp(this.configuration)\n      .searchData(repo, size, page, sort, fields, q, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Lookup dictionaries data types.\n   * @param {string} [q] Search term: &#x60;?&#x60; - matches any character &#x60;*&#x60; - matches 0 or more characters e.g.: name,emails{type},labels etc...\n   * @param {string} [id] &#x60;types.id&#x60;\n   * @param {string} [name] &#x60;types.name&#x60;\n   * @param {string} [repo] &#x60;types.repo&#x60;\n   * @param {string} [path] &#x60;types.path&#x60;\n   * @param {boolean} [readonly] [NOT] [ system / custom ] types only\n   * @param {boolean} [extendable] [NOT] Extend[able] types only.\n   * @param {boolean} [extensions] [NOT] include extensions/_* types.\n   * @param {boolean} [extended] [NOT] Extend[ed] types only.\n   * @param {boolean} [administered] [NOT] Administer access control only\n   * @param {number} [size] Number of result records (per page). Default: 16.\n   * @param {number} [page] Page number of result set of records. Default: 1.\n   * @param {Array<string>} [sort] Sort result dataset of records by fields. &#x60;&#x60;&#x60; sort ::&#x3D; *( ORDER name )  ORDER  &#x3D; ASC / DESC DESC   &#x3D; \\&quot;-\\&quot; / \\&quot;!\\&quot; ASC    &#x3D; [ \\&quot;+\\&quot; ]   ; Default &#x60;&#x60;&#x60;  Fields available  - &#x60;id&#x60;(seq) - &#x60;domain&#x60;{name} - &#x60;created_at&#x60; - &#x60;created_by&#x60;{name} - &#x60;updated_at&#x60; - &#x60;updated_by&#x60;{name}  Use ?fields&#x3D;&#x60;field.sort()&#x60; option to sort Edge fields.\n   * @param {Array<string>} [fields] Fields [Q]uery to build result dataset record. &#x60;&#x60;&#x60; fields ::&#x3D; field [ *( \\&quot;,\\&quot; field ) ] field  ::&#x3D; name [ *( func ) ] [ inner ] inner  ::&#x3D; \\&quot;{\\&quot; fields \\&quot;}\\&quot; funcs  ::&#x3D; *( func ) func   ::&#x3D; \\&quot;.\\&quot; name \\&quot;(\\&quot; [ args ] \\&quot;)\\&quot; name   ::&#x3D; ALPHA / DIGIT / USCORE  ALPHA    &#x3D; %x41-5A / %x61-7A  ; \\&quot;A\\&quot;-\\&quot;Z\\&quot; / \\&quot;a\\&quot;-\\&quot;z\\&quot; DIGIT    &#x3D; %x30-39            ; \\&quot;0\\&quot;-\\&quot;9\\&quot; USCORE   &#x3D; %x5F ; underscore  ; \\&quot;_\\&quot; &#x60;&#x60;&#x60;\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DictionariesApi\n   */\n  public searchType(\n    q?: string,\n    id?: string,\n    name?: string,\n    repo?: string,\n    path?: string,\n    readonly?: boolean,\n    extendable?: boolean,\n    extensions?: boolean,\n    extended?: boolean,\n    administered?: boolean,\n    size?: number,\n    page?: number,\n    sort?: Array<string>,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return DictionariesApiFp(this.configuration)\n      .searchType(\n        q,\n        id,\n        name,\n        repo,\n        path,\n        readonly,\n        extendable,\n        extensions,\n        extended,\n        administered,\n        size,\n        page,\n        sort,\n        fields,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   * (Record) {\n   * @summary Update a dictionary record.\n   * @param {string} repo [&#x60;types.repo&#x60;] data source\n   * @param {string} id [&#x60;record.id&#x60;] for update\n   * @param {object} record Record data fields changes.\n   * @param {Array<string>} [fields] Source Fields to return into result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DictionariesApi\n   */\n  public updateData(\n    repo: string,\n    id: string,\n    record: object,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return DictionariesApiFp(this.configuration)\n      .updateData(repo, id, record, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   * (Record) {\n   * @summary Update a dictionary record.\n   * @param {string} repo [&#x60;types.repo&#x60;] data source\n   * @param {string} id [&#x60;record.id&#x60;] for update\n   * @param {object} record Record data fields changes.\n   * @param {Array<string>} [fields] Source Fields to return into result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DictionariesApi\n   */\n  public updateData2(\n    repo: string,\n    id: string,\n    record: object,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return DictionariesApiFp(this.configuration)\n      .updateData2(repo, id, record, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   * (Dictionary) {\n   * @summary Update custom dictionary.\n   * @param {string} repo [**repo**] name of the dataset type, e.g.: &#x60;countries&#x60;.\n   * @param {WebitelProtoDataInputDictionary} input The dictionary [**type**] changes.\n   * @param {Array<string>} [fields] Fields to return into result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DictionariesApi\n   */\n  public updateType(\n    repo: string,\n    input: WebitelProtoDataInputDictionary,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return DictionariesApiFp(this.configuration)\n      .updateType(repo, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { ApiCreateDomainRequest } from '../api'\n// @ts-ignore\nimport { ApiDomainsUpdateDomainBody } from '../api'\n// @ts-ignore\nimport { ApiReadDomainResponse } from '../api'\n// @ts-ignore\nimport { ApiSearchDomainsResponse } from '../api'\n// @ts-ignore\nimport { ApiUpdateDomainResponse } from '../api'\n/**\n * DomainsApi - axios parameter creator\n * @export\n */\nexport const DomainsApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {ApiCreateDomainRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createDomain: async (\n      body: ApiCreateDomainRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createDomain.'\n        )\n      }\n      const localVarPath = `/domains`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} [domain]\n     * @param {string} [dc]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteDomain: async (\n      domain?: string,\n      dc?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/domain`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domain !== undefined) {\n        localVarQueryParameter['domain'] = domain\n      }\n\n      if (dc !== undefined) {\n        localVarQueryParameter['dc'] = dc\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} dc\n     * @param {string} [domain]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteDomain2: async (\n      dc: string,\n      domain?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'dc' is not null or undefined\n      if (dc === null || dc === undefined) {\n        throw new RequiredError(\n          'dc',\n          'Required parameter dc was null or undefined when calling deleteDomain2.'\n        )\n      }\n      const localVarPath = `/domains/{dc}`.replace(\n        `{${'dc'}}`,\n        encodeURIComponent(String(dc))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domain !== undefined) {\n        localVarQueryParameter['domain'] = domain\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} [domain]\n     * @param {string} [dc]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readDomain: async (\n      domain?: string,\n      dc?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/domain`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domain !== undefined) {\n        localVarQueryParameter['domain'] = domain\n      }\n\n      if (dc !== undefined) {\n        localVarQueryParameter['dc'] = dc\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} dc\n     * @param {string} [domain]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readDomain2: async (\n      dc: string,\n      domain?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'dc' is not null or undefined\n      if (dc === null || dc === undefined) {\n        throw new RequiredError(\n          'dc',\n          'Required parameter dc was null or undefined when calling readDomain2.'\n        )\n      }\n      const localVarPath = `/domains/{dc}`.replace(\n        `{${'dc'}}`,\n        encodeURIComponent(String(dc))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domain !== undefined) {\n        localVarQueryParameter['domain'] = domain\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} [domain] like\n     * @param {Array<string>} [fields] attrs\n     * @param {Array<string>} [sort]\n     * @param {string} [page]\n     * @param {string} [size]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchDomains: async (\n      domain?: string,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      page?: string,\n      size?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/domains`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domain !== undefined) {\n        localVarQueryParameter['domain'] = domain\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} domainDc component\n     * @param {ApiDomainsUpdateDomainBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateDomain: async (\n      domainDc: string,\n      body: ApiDomainsUpdateDomainBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'domainDc' is not null or undefined\n      if (domainDc === null || domainDc === undefined) {\n        throw new RequiredError(\n          'domainDc',\n          'Required parameter domainDc was null or undefined when calling updateDomain.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateDomain.'\n        )\n      }\n      const localVarPath = `/domains/{domain.dc}`.replace(\n        `{${'domain.dc'}}`,\n        encodeURIComponent(String(domainDc))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} domainDc component\n     * @param {ApiDomainsUpdateDomainBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateDomain2: async (\n      domainDc: string,\n      body: ApiDomainsUpdateDomainBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'domainDc' is not null or undefined\n      if (domainDc === null || domainDc === undefined) {\n        throw new RequiredError(\n          'domainDc',\n          'Required parameter domainDc was null or undefined when calling updateDomain2.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateDomain2.'\n        )\n      }\n      const localVarPath = `/domains/{domain.dc}`.replace(\n        `{${'domain.dc'}}`,\n        encodeURIComponent(String(domainDc))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * DomainsApi - functional programming interface\n * @export\n */\nexport const DomainsApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @param {ApiCreateDomainRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createDomain(\n      body: ApiCreateDomainRequest,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>\n    > {\n      const localVarAxiosArgs = await DomainsApiAxiosParamCreator(\n        configuration\n      ).createDomain(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} [domain]\n     * @param {string} [dc]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteDomain(\n      domain?: string,\n      dc?: string,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>\n    > {\n      const localVarAxiosArgs = await DomainsApiAxiosParamCreator(\n        configuration\n      ).deleteDomain(domain, dc, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} dc\n     * @param {string} [domain]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteDomain2(\n      dc: string,\n      domain?: string,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>\n    > {\n      const localVarAxiosArgs = await DomainsApiAxiosParamCreator(\n        configuration\n      ).deleteDomain2(dc, domain, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} [domain]\n     * @param {string} [dc]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readDomain(\n      domain?: string,\n      dc?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiReadDomainResponse>\n    > {\n      const localVarAxiosArgs = await DomainsApiAxiosParamCreator(\n        configuration\n      ).readDomain(domain, dc, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} dc\n     * @param {string} [domain]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readDomain2(\n      dc: string,\n      domain?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiReadDomainResponse>\n    > {\n      const localVarAxiosArgs = await DomainsApiAxiosParamCreator(\n        configuration\n      ).readDomain2(dc, domain, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} [domain] like\n     * @param {Array<string>} [fields] attrs\n     * @param {Array<string>} [sort]\n     * @param {string} [page]\n     * @param {string} [size]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchDomains(\n      domain?: string,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      page?: string,\n      size?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiSearchDomainsResponse>\n    > {\n      const localVarAxiosArgs = await DomainsApiAxiosParamCreator(\n        configuration\n      ).searchDomains(domain, fields, sort, page, size, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} domainDc component\n     * @param {ApiDomainsUpdateDomainBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateDomain(\n      domainDc: string,\n      body: ApiDomainsUpdateDomainBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiUpdateDomainResponse>\n    > {\n      const localVarAxiosArgs = await DomainsApiAxiosParamCreator(\n        configuration\n      ).updateDomain(domainDc, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} domainDc component\n     * @param {ApiDomainsUpdateDomainBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateDomain2(\n      domainDc: string,\n      body: ApiDomainsUpdateDomainBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiUpdateDomainResponse>\n    > {\n      const localVarAxiosArgs = await DomainsApiAxiosParamCreator(\n        configuration\n      ).updateDomain2(domainDc, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * DomainsApi - factory interface\n * @export\n */\nexport const DomainsApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {ApiCreateDomainRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createDomain(\n      body: ApiCreateDomainRequest,\n      options?: any\n    ): AxiosPromise<object> {\n      return DomainsApiFp(configuration)\n        .createDomain(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} [domain]\n     * @param {string} [dc]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteDomain(\n      domain?: string,\n      dc?: string,\n      options?: any\n    ): AxiosPromise<object> {\n      return DomainsApiFp(configuration)\n        .deleteDomain(domain, dc, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} dc\n     * @param {string} [domain]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteDomain2(\n      dc: string,\n      domain?: string,\n      options?: any\n    ): AxiosPromise<object> {\n      return DomainsApiFp(configuration)\n        .deleteDomain2(dc, domain, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} [domain]\n     * @param {string} [dc]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readDomain(\n      domain?: string,\n      dc?: string,\n      options?: any\n    ): AxiosPromise<ApiReadDomainResponse> {\n      return DomainsApiFp(configuration)\n        .readDomain(domain, dc, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} dc\n     * @param {string} [domain]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readDomain2(\n      dc: string,\n      domain?: string,\n      options?: any\n    ): AxiosPromise<ApiReadDomainResponse> {\n      return DomainsApiFp(configuration)\n        .readDomain2(dc, domain, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} [domain] like\n     * @param {Array<string>} [fields] attrs\n     * @param {Array<string>} [sort]\n     * @param {string} [page]\n     * @param {string} [size]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchDomains(\n      domain?: string,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      page?: string,\n      size?: string,\n      options?: any\n    ): AxiosPromise<ApiSearchDomainsResponse> {\n      return DomainsApiFp(configuration)\n        .searchDomains(domain, fields, sort, page, size, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} domainDc component\n     * @param {ApiDomainsUpdateDomainBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateDomain(\n      domainDc: string,\n      body: ApiDomainsUpdateDomainBody,\n      options?: any\n    ): AxiosPromise<ApiUpdateDomainResponse> {\n      return DomainsApiFp(configuration)\n        .updateDomain(domainDc, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} domainDc component\n     * @param {ApiDomainsUpdateDomainBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateDomain2(\n      domainDc: string,\n      body: ApiDomainsUpdateDomainBody,\n      options?: any\n    ): AxiosPromise<ApiUpdateDomainResponse> {\n      return DomainsApiFp(configuration)\n        .updateDomain2(domainDc, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * DomainsApi - object-oriented interface\n * @export\n * @class DomainsApi\n * @extends {BaseAPI}\n */\nexport class DomainsApi extends BaseAPI {\n  /**\n   *\n   * @param {ApiCreateDomainRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DomainsApi\n   */\n  public createDomain(body: ApiCreateDomainRequest, options?: any) {\n    return DomainsApiFp(this.configuration)\n      .createDomain(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} [domain]\n   * @param {string} [dc]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DomainsApi\n   */\n  public deleteDomain(domain?: string, dc?: string, options?: any) {\n    return DomainsApiFp(this.configuration)\n      .deleteDomain(domain, dc, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} dc\n   * @param {string} [domain]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DomainsApi\n   */\n  public deleteDomain2(dc: string, domain?: string, options?: any) {\n    return DomainsApiFp(this.configuration)\n      .deleteDomain2(dc, domain, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} [domain]\n   * @param {string} [dc]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DomainsApi\n   */\n  public readDomain(domain?: string, dc?: string, options?: any) {\n    return DomainsApiFp(this.configuration)\n      .readDomain(domain, dc, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} dc\n   * @param {string} [domain]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DomainsApi\n   */\n  public readDomain2(dc: string, domain?: string, options?: any) {\n    return DomainsApiFp(this.configuration)\n      .readDomain2(dc, domain, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} [domain] like\n   * @param {Array<string>} [fields] attrs\n   * @param {Array<string>} [sort]\n   * @param {string} [page]\n   * @param {string} [size]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DomainsApi\n   */\n  public searchDomains(\n    domain?: string,\n    fields?: Array<string>,\n    sort?: Array<string>,\n    page?: string,\n    size?: string,\n    options?: any\n  ) {\n    return DomainsApiFp(this.configuration)\n      .searchDomains(domain, fields, sort, page, size, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} domainDc component\n   * @param {ApiDomainsUpdateDomainBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DomainsApi\n   */\n  public updateDomain(\n    domainDc: string,\n    body: ApiDomainsUpdateDomainBody,\n    options?: any\n  ) {\n    return DomainsApiFp(this.configuration)\n      .updateDomain(domainDc, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} domainDc component\n   * @param {ApiDomainsUpdateDomainBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DomainsApi\n   */\n  public updateDomain2(\n    domainDc: string,\n    body: ApiDomainsUpdateDomainBody,\n    options?: any\n  ) {\n    return DomainsApiFp(this.configuration)\n      .updateDomain2(domainDc, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { WebitelContactsCondition } from '../api'\n// @ts-ignore\nimport { WebitelContactsConditionList } from '../api'\n// @ts-ignore\nimport { WebitelContactsDynamicConditionsCreateConditionBody } from '../api'\n// @ts-ignore\nimport { WebitelContactsInputCondition } from '../api'\n// @ts-ignore\nimport { WebitelContactsLocateConditionResponse } from '../api'\n/**\n * DynamicConditionsApi - axios parameter creator\n * @export\n */\nexport const DynamicConditionsApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create a new condition\n     * @param {string} groupId The ID of the group to which the condition belongs.\n     * @param {WebitelContactsDynamicConditionsCreateConditionBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createCondition: async (\n      groupId: string,\n      body: WebitelContactsDynamicConditionsCreateConditionBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'groupId' is not null or undefined\n      if (groupId === null || groupId === undefined) {\n        throw new RequiredError(\n          'groupId',\n          'Required parameter groupId was null or undefined when calling createCondition.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createCondition.'\n        )\n      }\n      const localVarPath = `/contacts/groups/{group_id}/conditions`.replace(\n        `{${'group_id'}}`,\n        encodeURIComponent(String(groupId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Delete a condition\n     * @param {string} id The unique ID of the condition to delete.  Unique ID of the condition.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteCondition: async (\n      id: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteCondition.'\n        )\n      }\n      const localVarPath = `/contacts/groups/conditions/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Retrieve a list of conditions\n     * @param {string} groupId The ID of the group to which the conditions belong.\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {string} [q] Search term for conditions.\n     * @param {Array<string>} [id] Filter by unique IDs.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listConditions: async (\n      groupId: string,\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      q?: string,\n      id?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'groupId' is not null or undefined\n      if (groupId === null || groupId === undefined) {\n        throw new RequiredError(\n          'groupId',\n          'Required parameter groupId was null or undefined when calling listConditions.'\n        )\n      }\n      const localVarPath = `/contacts/groups/{group_id}/conditions`.replace(\n        `{${'group_id'}}`,\n        encodeURIComponent(String(groupId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Locate a condition by ID\n     * @param {string} id Unique ID of the condition.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateCondition: async (\n      id: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling locateCondition.'\n        )\n      }\n      const localVarPath = `/contacts/groups/conditions/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update an existing condition\n     * @param {string} id The unique ID of the condition to update.\n     * @param {WebitelContactsInputCondition} input Input details for the condition.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateCondition: async (\n      id: string,\n      input: WebitelContactsInputCondition,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateCondition.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateCondition.'\n        )\n      }\n      const localVarPath = `/contacts/groups/conditions/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update an existing condition\n     * @param {string} id The unique ID of the condition to update.\n     * @param {WebitelContactsInputCondition} input Input details for the condition.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateCondition2: async (\n      id: string,\n      input: WebitelContactsInputCondition,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateCondition2.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateCondition2.'\n        )\n      }\n      const localVarPath = `/contacts/groups/conditions/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * DynamicConditionsApi - functional programming interface\n * @export\n */\nexport const DynamicConditionsApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Create a new condition\n     * @param {string} groupId The ID of the group to which the condition belongs.\n     * @param {WebitelContactsDynamicConditionsCreateConditionBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createCondition(\n      groupId: string,\n      body: WebitelContactsDynamicConditionsCreateConditionBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsCondition>\n    > {\n      const localVarAxiosArgs = await DynamicConditionsApiAxiosParamCreator(\n        configuration\n      ).createCondition(groupId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Delete a condition\n     * @param {string} id The unique ID of the condition to delete.  Unique ID of the condition.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteCondition(\n      id: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsCondition>\n    > {\n      const localVarAxiosArgs = await DynamicConditionsApiAxiosParamCreator(\n        configuration\n      ).deleteCondition(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Retrieve a list of conditions\n     * @param {string} groupId The ID of the group to which the conditions belong.\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {string} [q] Search term for conditions.\n     * @param {Array<string>} [id] Filter by unique IDs.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async listConditions(\n      groupId: string,\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      q?: string,\n      id?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsConditionList>\n    > {\n      const localVarAxiosArgs = await DynamicConditionsApiAxiosParamCreator(\n        configuration\n      ).listConditions(groupId, page, size, fields, sort, q, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Locate a condition by ID\n     * @param {string} id Unique ID of the condition.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async locateCondition(\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsLocateConditionResponse>\n    > {\n      const localVarAxiosArgs = await DynamicConditionsApiAxiosParamCreator(\n        configuration\n      ).locateCondition(id, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update an existing condition\n     * @param {string} id The unique ID of the condition to update.\n     * @param {WebitelContactsInputCondition} input Input details for the condition.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateCondition(\n      id: string,\n      input: WebitelContactsInputCondition,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsCondition>\n    > {\n      const localVarAxiosArgs = await DynamicConditionsApiAxiosParamCreator(\n        configuration\n      ).updateCondition(id, input, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update an existing condition\n     * @param {string} id The unique ID of the condition to update.\n     * @param {WebitelContactsInputCondition} input Input details for the condition.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateCondition2(\n      id: string,\n      input: WebitelContactsInputCondition,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsCondition>\n    > {\n      const localVarAxiosArgs = await DynamicConditionsApiAxiosParamCreator(\n        configuration\n      ).updateCondition2(id, input, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * DynamicConditionsApi - factory interface\n * @export\n */\nexport const DynamicConditionsApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Create a new condition\n     * @param {string} groupId The ID of the group to which the condition belongs.\n     * @param {WebitelContactsDynamicConditionsCreateConditionBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createCondition(\n      groupId: string,\n      body: WebitelContactsDynamicConditionsCreateConditionBody,\n      options?: any\n    ): AxiosPromise<WebitelContactsCondition> {\n      return DynamicConditionsApiFp(configuration)\n        .createCondition(groupId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Delete a condition\n     * @param {string} id The unique ID of the condition to delete.  Unique ID of the condition.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteCondition(\n      id: string,\n      options?: any\n    ): AxiosPromise<WebitelContactsCondition> {\n      return DynamicConditionsApiFp(configuration)\n        .deleteCondition(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Retrieve a list of conditions\n     * @param {string} groupId The ID of the group to which the conditions belong.\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {string} [q] Search term for conditions.\n     * @param {Array<string>} [id] Filter by unique IDs.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listConditions(\n      groupId: string,\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      q?: string,\n      id?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsConditionList> {\n      return DynamicConditionsApiFp(configuration)\n        .listConditions(groupId, page, size, fields, sort, q, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Locate a condition by ID\n     * @param {string} id Unique ID of the condition.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateCondition(\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsLocateConditionResponse> {\n      return DynamicConditionsApiFp(configuration)\n        .locateCondition(id, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update an existing condition\n     * @param {string} id The unique ID of the condition to update.\n     * @param {WebitelContactsInputCondition} input Input details for the condition.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateCondition(\n      id: string,\n      input: WebitelContactsInputCondition,\n      options?: any\n    ): AxiosPromise<WebitelContactsCondition> {\n      return DynamicConditionsApiFp(configuration)\n        .updateCondition(id, input, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update an existing condition\n     * @param {string} id The unique ID of the condition to update.\n     * @param {WebitelContactsInputCondition} input Input details for the condition.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateCondition2(\n      id: string,\n      input: WebitelContactsInputCondition,\n      options?: any\n    ): AxiosPromise<WebitelContactsCondition> {\n      return DynamicConditionsApiFp(configuration)\n        .updateCondition2(id, input, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * DynamicConditionsApi - object-oriented interface\n * @export\n * @class DynamicConditionsApi\n * @extends {BaseAPI}\n */\nexport class DynamicConditionsApi extends BaseAPI {\n  /**\n   *\n   * @summary Create a new condition\n   * @param {string} groupId The ID of the group to which the condition belongs.\n   * @param {WebitelContactsDynamicConditionsCreateConditionBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DynamicConditionsApi\n   */\n  public createCondition(\n    groupId: string,\n    body: WebitelContactsDynamicConditionsCreateConditionBody,\n    options?: any\n  ) {\n    return DynamicConditionsApiFp(this.configuration)\n      .createCondition(groupId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Delete a condition\n   * @param {string} id The unique ID of the condition to delete.  Unique ID of the condition.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DynamicConditionsApi\n   */\n  public deleteCondition(id: string, options?: any) {\n    return DynamicConditionsApiFp(this.configuration)\n      .deleteCondition(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Retrieve a list of conditions\n   * @param {string} groupId The ID of the group to which the conditions belong.\n   * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n   * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {Array<string>} [sort] Sort the result according to fields.\n   * @param {string} [q] Search term for conditions.\n   * @param {Array<string>} [id] Filter by unique IDs.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DynamicConditionsApi\n   */\n  public listConditions(\n    groupId: string,\n    page?: number,\n    size?: number,\n    fields?: Array<string>,\n    sort?: Array<string>,\n    q?: string,\n    id?: Array<string>,\n    options?: any\n  ) {\n    return DynamicConditionsApiFp(this.configuration)\n      .listConditions(groupId, page, size, fields, sort, q, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Locate a condition by ID\n   * @param {string} id Unique ID of the condition.\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DynamicConditionsApi\n   */\n  public locateCondition(id: string, fields?: Array<string>, options?: any) {\n    return DynamicConditionsApiFp(this.configuration)\n      .locateCondition(id, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update an existing condition\n   * @param {string} id The unique ID of the condition to update.\n   * @param {WebitelContactsInputCondition} input Input details for the condition.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DynamicConditionsApi\n   */\n  public updateCondition(\n    id: string,\n    input: WebitelContactsInputCondition,\n    options?: any\n  ) {\n    return DynamicConditionsApiFp(this.configuration)\n      .updateCondition(id, input, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update an existing condition\n   * @param {string} id The unique ID of the condition to update.\n   * @param {WebitelContactsInputCondition} input Input details for the condition.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DynamicConditionsApi\n   */\n  public updateCondition2(\n    id: string,\n    input: WebitelContactsInputCondition,\n    options?: any\n  ) {\n    return DynamicConditionsApiFp(this.configuration)\n      .updateCondition2(id, input, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { WebitelContactsCreateDynamicGroupRequest } from '../api'\n// @ts-ignore\nimport { WebitelContactsDynamicGroup } from '../api'\n// @ts-ignore\nimport { WebitelContactsDynamicGroupInput } from '../api'\n// @ts-ignore\nimport { WebitelContactsDynamicGroupList } from '../api'\n// @ts-ignore\nimport { WebitelContactsLocateDynamicGroupResponse } from '../api'\n/**\n * DynamicGroupsApi - axios parameter creator\n * @export\n */\nexport const DynamicGroupsApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create a new dynamic group\n     * @param {WebitelContactsCreateDynamicGroupRequest} body Request message for creating a new dynamic group.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createDynamicGroup: async (\n      body: WebitelContactsCreateDynamicGroupRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createDynamicGroup.'\n        )\n      }\n      const localVarPath = `/contacts/groups/dynamic`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Delete a dynamic group\n     * @param {string} id The unique ID of the dynamic group to delete.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteDynamicGroup: async (\n      id: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteDynamicGroup.'\n        )\n      }\n      const localVarPath = `/contacts/groups/{id}/dynamic`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Retrieve a list of dynamic groups or search dynamic groups\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {Array<string>} [id] Filter by unique IDs.\n     * @param {string} [q] Search term: group name; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {string} [name] Filter by group name.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listDynamicGroups: async (\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      id?: Array<string>,\n      q?: string,\n      name?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/contacts/groups/dynamic`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (name !== undefined) {\n        localVarQueryParameter['name'] = name\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Locate a dynamic group by ID\n     * @param {string} id\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateDynamicGroup: async (\n      id: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling locateDynamicGroup.'\n        )\n      }\n      const localVarPath = `/contacts/groups/{id}/dynamic`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update an existing dynamic group\n     * @param {string} id The unique ID of the dynamic group to update.\n     * @param {WebitelContactsDynamicGroupInput} input Input details for the dynamic group.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateDynamicGroup: async (\n      id: string,\n      input: WebitelContactsDynamicGroupInput,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateDynamicGroup.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateDynamicGroup.'\n        )\n      }\n      const localVarPath = `/contacts/groups/{id}/dynamic`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update an existing dynamic group\n     * @param {string} id The unique ID of the dynamic group to update.\n     * @param {WebitelContactsDynamicGroupInput} input Input details for the dynamic group.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateDynamicGroup2: async (\n      id: string,\n      input: WebitelContactsDynamicGroupInput,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateDynamicGroup2.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateDynamicGroup2.'\n        )\n      }\n      const localVarPath = `/contacts/groups/{id}/dynamic`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * DynamicGroupsApi - functional programming interface\n * @export\n */\nexport const DynamicGroupsApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Create a new dynamic group\n     * @param {WebitelContactsCreateDynamicGroupRequest} body Request message for creating a new dynamic group.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createDynamicGroup(\n      body: WebitelContactsCreateDynamicGroupRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsDynamicGroup>\n    > {\n      const localVarAxiosArgs = await DynamicGroupsApiAxiosParamCreator(\n        configuration\n      ).createDynamicGroup(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Delete a dynamic group\n     * @param {string} id The unique ID of the dynamic group to delete.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteDynamicGroup(\n      id: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsDynamicGroup>\n    > {\n      const localVarAxiosArgs = await DynamicGroupsApiAxiosParamCreator(\n        configuration\n      ).deleteDynamicGroup(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Retrieve a list of dynamic groups or search dynamic groups\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {Array<string>} [id] Filter by unique IDs.\n     * @param {string} [q] Search term: group name; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {string} [name] Filter by group name.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async listDynamicGroups(\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      id?: Array<string>,\n      q?: string,\n      name?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsDynamicGroupList>\n    > {\n      const localVarAxiosArgs = await DynamicGroupsApiAxiosParamCreator(\n        configuration\n      ).listDynamicGroups(page, size, fields, sort, id, q, name, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Locate a dynamic group by ID\n     * @param {string} id\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async locateDynamicGroup(\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsLocateDynamicGroupResponse>\n    > {\n      const localVarAxiosArgs = await DynamicGroupsApiAxiosParamCreator(\n        configuration\n      ).locateDynamicGroup(id, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update an existing dynamic group\n     * @param {string} id The unique ID of the dynamic group to update.\n     * @param {WebitelContactsDynamicGroupInput} input Input details for the dynamic group.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateDynamicGroup(\n      id: string,\n      input: WebitelContactsDynamicGroupInput,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsDynamicGroup>\n    > {\n      const localVarAxiosArgs = await DynamicGroupsApiAxiosParamCreator(\n        configuration\n      ).updateDynamicGroup(id, input, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update an existing dynamic group\n     * @param {string} id The unique ID of the dynamic group to update.\n     * @param {WebitelContactsDynamicGroupInput} input Input details for the dynamic group.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateDynamicGroup2(\n      id: string,\n      input: WebitelContactsDynamicGroupInput,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsDynamicGroup>\n    > {\n      const localVarAxiosArgs = await DynamicGroupsApiAxiosParamCreator(\n        configuration\n      ).updateDynamicGroup2(id, input, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * DynamicGroupsApi - factory interface\n * @export\n */\nexport const DynamicGroupsApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Create a new dynamic group\n     * @param {WebitelContactsCreateDynamicGroupRequest} body Request message for creating a new dynamic group.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createDynamicGroup(\n      body: WebitelContactsCreateDynamicGroupRequest,\n      options?: any\n    ): AxiosPromise<WebitelContactsDynamicGroup> {\n      return DynamicGroupsApiFp(configuration)\n        .createDynamicGroup(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Delete a dynamic group\n     * @param {string} id The unique ID of the dynamic group to delete.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteDynamicGroup(\n      id: string,\n      options?: any\n    ): AxiosPromise<WebitelContactsDynamicGroup> {\n      return DynamicGroupsApiFp(configuration)\n        .deleteDynamicGroup(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Retrieve a list of dynamic groups or search dynamic groups\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {Array<string>} [id] Filter by unique IDs.\n     * @param {string} [q] Search term: group name; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {string} [name] Filter by group name.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listDynamicGroups(\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      id?: Array<string>,\n      q?: string,\n      name?: string,\n      options?: any\n    ): AxiosPromise<WebitelContactsDynamicGroupList> {\n      return DynamicGroupsApiFp(configuration)\n        .listDynamicGroups(page, size, fields, sort, id, q, name, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Locate a dynamic group by ID\n     * @param {string} id\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateDynamicGroup(\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsLocateDynamicGroupResponse> {\n      return DynamicGroupsApiFp(configuration)\n        .locateDynamicGroup(id, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update an existing dynamic group\n     * @param {string} id The unique ID of the dynamic group to update.\n     * @param {WebitelContactsDynamicGroupInput} input Input details for the dynamic group.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateDynamicGroup(\n      id: string,\n      input: WebitelContactsDynamicGroupInput,\n      options?: any\n    ): AxiosPromise<WebitelContactsDynamicGroup> {\n      return DynamicGroupsApiFp(configuration)\n        .updateDynamicGroup(id, input, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update an existing dynamic group\n     * @param {string} id The unique ID of the dynamic group to update.\n     * @param {WebitelContactsDynamicGroupInput} input Input details for the dynamic group.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateDynamicGroup2(\n      id: string,\n      input: WebitelContactsDynamicGroupInput,\n      options?: any\n    ): AxiosPromise<WebitelContactsDynamicGroup> {\n      return DynamicGroupsApiFp(configuration)\n        .updateDynamicGroup2(id, input, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * DynamicGroupsApi - object-oriented interface\n * @export\n * @class DynamicGroupsApi\n * @extends {BaseAPI}\n */\nexport class DynamicGroupsApi extends BaseAPI {\n  /**\n   *\n   * @summary Create a new dynamic group\n   * @param {WebitelContactsCreateDynamicGroupRequest} body Request message for creating a new dynamic group.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DynamicGroupsApi\n   */\n  public createDynamicGroup(\n    body: WebitelContactsCreateDynamicGroupRequest,\n    options?: any\n  ) {\n    return DynamicGroupsApiFp(this.configuration)\n      .createDynamicGroup(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Delete a dynamic group\n   * @param {string} id The unique ID of the dynamic group to delete.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DynamicGroupsApi\n   */\n  public deleteDynamicGroup(id: string, options?: any) {\n    return DynamicGroupsApiFp(this.configuration)\n      .deleteDynamicGroup(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Retrieve a list of dynamic groups or search dynamic groups\n   * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n   * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {Array<string>} [sort] Sort the result according to fields.\n   * @param {Array<string>} [id] Filter by unique IDs.\n   * @param {string} [q] Search term: group name; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n   * @param {string} [name] Filter by group name.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DynamicGroupsApi\n   */\n  public listDynamicGroups(\n    page?: number,\n    size?: number,\n    fields?: Array<string>,\n    sort?: Array<string>,\n    id?: Array<string>,\n    q?: string,\n    name?: string,\n    options?: any\n  ) {\n    return DynamicGroupsApiFp(this.configuration)\n      .listDynamicGroups(page, size, fields, sort, id, q, name, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Locate a dynamic group by ID\n   * @param {string} id\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DynamicGroupsApi\n   */\n  public locateDynamicGroup(id: string, fields?: Array<string>, options?: any) {\n    return DynamicGroupsApiFp(this.configuration)\n      .locateDynamicGroup(id, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update an existing dynamic group\n   * @param {string} id The unique ID of the dynamic group to update.\n   * @param {WebitelContactsDynamicGroupInput} input Input details for the dynamic group.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DynamicGroupsApi\n   */\n  public updateDynamicGroup(\n    id: string,\n    input: WebitelContactsDynamicGroupInput,\n    options?: any\n  ) {\n    return DynamicGroupsApiFp(this.configuration)\n      .updateDynamicGroup(id, input, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update an existing dynamic group\n   * @param {string} id The unique ID of the dynamic group to update.\n   * @param {WebitelContactsDynamicGroupInput} input Input details for the dynamic group.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof DynamicGroupsApi\n   */\n  public updateDynamicGroup2(\n    id: string,\n    input: WebitelContactsDynamicGroupInput,\n    options?: any\n  ) {\n    return DynamicGroupsApiFp(this.configuration)\n      .updateDynamicGroup2(id, input, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { EngineCreateEmailProfileRequest } from '../api'\n// @ts-ignore\nimport { EngineEmailProfile } from '../api'\n// @ts-ignore\nimport { EngineEmailProfileServicePatchEmailProfileBody } from '../api'\n// @ts-ignore\nimport { EngineEmailProfileServiceUpdateEmailProfileBody } from '../api'\n// @ts-ignore\nimport { EngineListEmailProfile } from '../api'\n// @ts-ignore\nimport { EngineLoginEmailProfileResponse } from '../api'\n// @ts-ignore\nimport { EngineTestEmailProfileResponse } from '../api'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n/**\n * EmailProfileServiceApi - axios parameter creator\n * @export\n */\nexport const EmailProfileServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create EmailProfile\n     * @param {EngineCreateEmailProfileRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createEmailProfile: async (\n      body: EngineCreateEmailProfileRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createEmailProfile.'\n        )\n      }\n      const localVarPath = `/email/profile`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Remove EmailProfile\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteEmailProfile: async (\n      id: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteEmailProfile.'\n        )\n      }\n      const localVarPath = `/email/profile/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    loginEmailProfile: async (\n      id: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling loginEmailProfile.'\n        )\n      }\n      const localVarPath = `/email/profile/{id}/login`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    logoutEmailProfile: async (\n      id: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling logoutEmailProfile.'\n        )\n      }\n      const localVarPath = `/email/profile/{id}/logout`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineEmailProfileServicePatchEmailProfileBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchEmailProfile: async (\n      id: string,\n      body: EngineEmailProfileServicePatchEmailProfileBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling patchEmailProfile.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling patchEmailProfile.'\n        )\n      }\n      const localVarPath = `/email/profile/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary EmailProfile item\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readEmailProfile: async (\n      id: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readEmailProfile.'\n        )\n      }\n      const localVarPath = `/email/profile/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Search EmailProfile\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchEmailProfile: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/email/profile`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary EmailProfile check login\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    testEmailProfile: async (\n      id: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling testEmailProfile.'\n        )\n      }\n      const localVarPath = `/email/profile/{id}/test`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update EmailProfile\n     * @param {string} id\n     * @param {EngineEmailProfileServiceUpdateEmailProfileBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateEmailProfile: async (\n      id: string,\n      body: EngineEmailProfileServiceUpdateEmailProfileBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateEmailProfile.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateEmailProfile.'\n        )\n      }\n      const localVarPath = `/email/profile/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * EmailProfileServiceApi - functional programming interface\n * @export\n */\nexport const EmailProfileServiceApiFp = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create EmailProfile\n     * @param {EngineCreateEmailProfileRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createEmailProfile(\n      body: EngineCreateEmailProfileRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineEmailProfile>\n    > {\n      const localVarAxiosArgs = await EmailProfileServiceApiAxiosParamCreator(\n        configuration\n      ).createEmailProfile(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Remove EmailProfile\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteEmailProfile(\n      id: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineEmailProfile>\n    > {\n      const localVarAxiosArgs = await EmailProfileServiceApiAxiosParamCreator(\n        configuration\n      ).deleteEmailProfile(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async loginEmailProfile(\n      id: number,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineLoginEmailProfileResponse>\n    > {\n      const localVarAxiosArgs = await EmailProfileServiceApiAxiosParamCreator(\n        configuration\n      ).loginEmailProfile(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async logoutEmailProfile(\n      id: number,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>\n    > {\n      const localVarAxiosArgs = await EmailProfileServiceApiAxiosParamCreator(\n        configuration\n      ).logoutEmailProfile(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineEmailProfileServicePatchEmailProfileBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async patchEmailProfile(\n      id: string,\n      body: EngineEmailProfileServicePatchEmailProfileBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineEmailProfile>\n    > {\n      const localVarAxiosArgs = await EmailProfileServiceApiAxiosParamCreator(\n        configuration\n      ).patchEmailProfile(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary EmailProfile item\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readEmailProfile(\n      id: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineEmailProfile>\n    > {\n      const localVarAxiosArgs = await EmailProfileServiceApiAxiosParamCreator(\n        configuration\n      ).readEmailProfile(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Search EmailProfile\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchEmailProfile(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListEmailProfile>\n    > {\n      const localVarAxiosArgs = await EmailProfileServiceApiAxiosParamCreator(\n        configuration\n      ).searchEmailProfile(page, size, q, sort, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary EmailProfile check login\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async testEmailProfile(\n      id: number,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineTestEmailProfileResponse>\n    > {\n      const localVarAxiosArgs = await EmailProfileServiceApiAxiosParamCreator(\n        configuration\n      ).testEmailProfile(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update EmailProfile\n     * @param {string} id\n     * @param {EngineEmailProfileServiceUpdateEmailProfileBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateEmailProfile(\n      id: string,\n      body: EngineEmailProfileServiceUpdateEmailProfileBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineEmailProfile>\n    > {\n      const localVarAxiosArgs = await EmailProfileServiceApiAxiosParamCreator(\n        configuration\n      ).updateEmailProfile(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * EmailProfileServiceApi - factory interface\n * @export\n */\nexport const EmailProfileServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Create EmailProfile\n     * @param {EngineCreateEmailProfileRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createEmailProfile(\n      body: EngineCreateEmailProfileRequest,\n      options?: any\n    ): AxiosPromise<EngineEmailProfile> {\n      return EmailProfileServiceApiFp(configuration)\n        .createEmailProfile(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Remove EmailProfile\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteEmailProfile(\n      id: string,\n      options?: any\n    ): AxiosPromise<EngineEmailProfile> {\n      return EmailProfileServiceApiFp(configuration)\n        .deleteEmailProfile(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    loginEmailProfile(\n      id: number,\n      options?: any\n    ): AxiosPromise<EngineLoginEmailProfileResponse> {\n      return EmailProfileServiceApiFp(configuration)\n        .loginEmailProfile(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    logoutEmailProfile(id: number, options?: any): AxiosPromise<object> {\n      return EmailProfileServiceApiFp(configuration)\n        .logoutEmailProfile(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineEmailProfileServicePatchEmailProfileBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchEmailProfile(\n      id: string,\n      body: EngineEmailProfileServicePatchEmailProfileBody,\n      options?: any\n    ): AxiosPromise<EngineEmailProfile> {\n      return EmailProfileServiceApiFp(configuration)\n        .patchEmailProfile(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary EmailProfile item\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readEmailProfile(\n      id: string,\n      options?: any\n    ): AxiosPromise<EngineEmailProfile> {\n      return EmailProfileServiceApiFp(configuration)\n        .readEmailProfile(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Search EmailProfile\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchEmailProfile(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<EngineListEmailProfile> {\n      return EmailProfileServiceApiFp(configuration)\n        .searchEmailProfile(page, size, q, sort, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary EmailProfile check login\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    testEmailProfile(\n      id: number,\n      options?: any\n    ): AxiosPromise<EngineTestEmailProfileResponse> {\n      return EmailProfileServiceApiFp(configuration)\n        .testEmailProfile(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update EmailProfile\n     * @param {string} id\n     * @param {EngineEmailProfileServiceUpdateEmailProfileBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateEmailProfile(\n      id: string,\n      body: EngineEmailProfileServiceUpdateEmailProfileBody,\n      options?: any\n    ): AxiosPromise<EngineEmailProfile> {\n      return EmailProfileServiceApiFp(configuration)\n        .updateEmailProfile(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * EmailProfileServiceApi - object-oriented interface\n * @export\n * @class EmailProfileServiceApi\n * @extends {BaseAPI}\n */\nexport class EmailProfileServiceApi extends BaseAPI {\n  /**\n   *\n   * @summary Create EmailProfile\n   * @param {EngineCreateEmailProfileRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof EmailProfileServiceApi\n   */\n  public createEmailProfile(\n    body: EngineCreateEmailProfileRequest,\n    options?: any\n  ) {\n    return EmailProfileServiceApiFp(this.configuration)\n      .createEmailProfile(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Remove EmailProfile\n   * @param {string} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof EmailProfileServiceApi\n   */\n  public deleteEmailProfile(id: string, options?: any) {\n    return EmailProfileServiceApiFp(this.configuration)\n      .deleteEmailProfile(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof EmailProfileServiceApi\n   */\n  public loginEmailProfile(id: number, options?: any) {\n    return EmailProfileServiceApiFp(this.configuration)\n      .loginEmailProfile(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof EmailProfileServiceApi\n   */\n  public logoutEmailProfile(id: number, options?: any) {\n    return EmailProfileServiceApiFp(this.configuration)\n      .logoutEmailProfile(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {EngineEmailProfileServicePatchEmailProfileBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof EmailProfileServiceApi\n   */\n  public patchEmailProfile(\n    id: string,\n    body: EngineEmailProfileServicePatchEmailProfileBody,\n    options?: any\n  ) {\n    return EmailProfileServiceApiFp(this.configuration)\n      .patchEmailProfile(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary EmailProfile item\n   * @param {string} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof EmailProfileServiceApi\n   */\n  public readEmailProfile(id: string, options?: any) {\n    return EmailProfileServiceApiFp(this.configuration)\n      .readEmailProfile(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Search EmailProfile\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof EmailProfileServiceApi\n   */\n  public searchEmailProfile(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return EmailProfileServiceApiFp(this.configuration)\n      .searchEmailProfile(page, size, q, sort, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary EmailProfile check login\n   * @param {number} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof EmailProfileServiceApi\n   */\n  public testEmailProfile(id: number, options?: any) {\n    return EmailProfileServiceApiFp(this.configuration)\n      .testEmailProfile(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update EmailProfile\n   * @param {string} id\n   * @param {EngineEmailProfileServiceUpdateEmailProfileBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof EmailProfileServiceApi\n   */\n  public updateEmailProfile(\n    id: string,\n    body: EngineEmailProfileServiceUpdateEmailProfileBody,\n    options?: any\n  ) {\n    return EmailProfileServiceApiFp(this.configuration)\n      .updateEmailProfile(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { NEWUpdateOfTheEmailAddressLink } from '../api'\n// @ts-ignore\nimport { NEWUpdateOfTheEmailAddressLink1 } from '../api'\n// @ts-ignore\nimport { WebitelContactsEmailAddress } from '../api'\n// @ts-ignore\nimport { WebitelContactsEmailList } from '../api'\n// @ts-ignore\nimport { WebitelContactsInputEmailAddress } from '../api'\n/**\n * EmailsApi - axios parameter creator\n * @export\n */\nexport const EmailsApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Remove the contact\\'s email address link\n     * @param {string} contactId Contact ID associated with.\n     * @param {string} etag Unique ID to remove.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteEmail: async (\n      contactId: string,\n      etag: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling deleteEmail.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling deleteEmail.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/emails/{etag}`\n        .replace(`{${'contact_id'}}`, encodeURIComponent(String(contactId)))\n        .replace(`{${'etag'}}`, encodeURIComponent(String(etag)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Remove email address(es) of the contact.\n     * @param {string} contactId Contact ID associated with.\n     * @param {Array<string>} etag Set of unique ID(s) to remove.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteEmails: async (\n      contactId: string,\n      etag: Array<string>,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling deleteEmails.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling deleteEmails.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/emails`.replace(\n        `{${'contact_id'}}`,\n        encodeURIComponent(String(contactId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (etag) {\n        localVarQueryParameter['etag'] = etag\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Locates email address(es) of the contact.\n     * @param {string} contactId The Contact ID linked with.\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {string} [q] Search term: email address. &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {Array<string>} [id] Link(s) with unique ID only.\n     * @param {boolean} [primary] Primary email address only.\n     * @param {boolean} [verified] Verified email addresses only.\n     * @param {string} [typeId] Reference Object unique ID.\n     * @param {string} [typeType] Reference Object well-known type.\n     * @param {string} [typeName] Reference Object display name.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listEmails: async (\n      contactId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      primary?: boolean,\n      verified?: boolean,\n      typeId?: string,\n      typeType?: string,\n      typeName?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling listEmails.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/emails`.replace(\n        `{${'contact_id'}}`,\n        encodeURIComponent(String(contactId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (primary !== undefined) {\n        localVarQueryParameter['primary'] = primary\n      }\n\n      if (verified !== undefined) {\n        localVarQueryParameter['verified'] = verified\n      }\n\n      if (typeId !== undefined) {\n        localVarQueryParameter['type.id'] = typeId\n      }\n\n      if (typeType !== undefined) {\n        localVarQueryParameter['type.type'] = typeType\n      }\n\n      if (typeName !== undefined) {\n        localVarQueryParameter['type.name'] = typeName\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Locate the email address link.\n     * @param {string} contactId Contact source ID.\n     * @param {string} etag Unique mail address link IDentifier. Accept: &#x60;etag&#x60; (obsolete+) or &#x60;id&#x60;.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateEmail: async (\n      contactId: string,\n      etag: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling locateEmail.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling locateEmail.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/emails/{etag}`\n        .replace(`{${'contact_id'}}`, encodeURIComponent(String(contactId)))\n        .replace(`{${'etag'}}`, encodeURIComponent(String(etag)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update or append email address(es) of the contact.\n     * @param {string} contactId Link contact ID.\n     * @param {Array<WebitelContactsInputEmailAddress>} input Fixed set of email address(es) to be linked with the contact. Email address(es) that conflicts(email) with already linked will be updated.\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    mergeEmails: async (\n      contactId: string,\n      input: Array<WebitelContactsInputEmailAddress>,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling mergeEmails.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling mergeEmails.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/emails`.replace(\n        `{${'contact_id'}}`,\n        encodeURIComponent(String(contactId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Resets all emails of the contact according to the input dataset.\n     * @param {string} contactId Link contact ID.\n     * @param {Array<WebitelContactsInputEmailAddress>} input Final set of email address(es) to be linked with the contact. Email address(es) that are already linked with the contact but not given in here will be removed.\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    resetEmails: async (\n      contactId: string,\n      input: Array<WebitelContactsInputEmailAddress>,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling resetEmails.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling resetEmails.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/emails`.replace(\n        `{${'contact_id'}}`,\n        encodeURIComponent(String(contactId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update the contact\\'s email address link details\n     * @param {string} contactId Link contact ID.\n     * @param {string} etag Unique ID of the latest version of an existing resorce.\n     * @param {NEWUpdateOfTheEmailAddressLink} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateEmail: async (\n      contactId: string,\n      etag: string,\n      input: NEWUpdateOfTheEmailAddressLink,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling updateEmail.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling updateEmail.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateEmail.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/emails/{etag}`\n        .replace(`{${'contact_id'}}`, encodeURIComponent(String(contactId)))\n        .replace(`{${'etag'}}`, encodeURIComponent(String(etag)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update the contact\\'s email address link details\n     * @param {string} contactId Link contact ID.\n     * @param {string} etag Unique ID of the latest version of an existing resorce.\n     * @param {NEWUpdateOfTheEmailAddressLink1} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateEmail2: async (\n      contactId: string,\n      etag: string,\n      input: NEWUpdateOfTheEmailAddressLink1,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling updateEmail2.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling updateEmail2.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateEmail2.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/emails/{etag}`\n        .replace(`{${'contact_id'}}`, encodeURIComponent(String(contactId)))\n        .replace(`{${'etag'}}`, encodeURIComponent(String(etag)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * EmailsApi - functional programming interface\n * @export\n */\nexport const EmailsApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Remove the contact\\'s email address link\n     * @param {string} contactId Contact ID associated with.\n     * @param {string} etag Unique ID to remove.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteEmail(\n      contactId: string,\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsEmailAddress>\n    > {\n      const localVarAxiosArgs = await EmailsApiAxiosParamCreator(\n        configuration\n      ).deleteEmail(contactId, etag, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Remove email address(es) of the contact.\n     * @param {string} contactId Contact ID associated with.\n     * @param {Array<string>} etag Set of unique ID(s) to remove.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteEmails(\n      contactId: string,\n      etag: Array<string>,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsEmailList>\n    > {\n      const localVarAxiosArgs = await EmailsApiAxiosParamCreator(\n        configuration\n      ).deleteEmails(contactId, etag, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Locates email address(es) of the contact.\n     * @param {string} contactId The Contact ID linked with.\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {string} [q] Search term: email address. &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {Array<string>} [id] Link(s) with unique ID only.\n     * @param {boolean} [primary] Primary email address only.\n     * @param {boolean} [verified] Verified email addresses only.\n     * @param {string} [typeId] Reference Object unique ID.\n     * @param {string} [typeType] Reference Object well-known type.\n     * @param {string} [typeName] Reference Object display name.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async listEmails(\n      contactId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      primary?: boolean,\n      verified?: boolean,\n      typeId?: string,\n      typeType?: string,\n      typeName?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsEmailList>\n    > {\n      const localVarAxiosArgs = await EmailsApiAxiosParamCreator(\n        configuration\n      ).listEmails(\n        contactId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        primary,\n        verified,\n        typeId,\n        typeType,\n        typeName,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Locate the email address link.\n     * @param {string} contactId Contact source ID.\n     * @param {string} etag Unique mail address link IDentifier. Accept: &#x60;etag&#x60; (obsolete+) or &#x60;id&#x60;.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async locateEmail(\n      contactId: string,\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsEmailAddress>\n    > {\n      const localVarAxiosArgs = await EmailsApiAxiosParamCreator(\n        configuration\n      ).locateEmail(contactId, etag, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update or append email address(es) of the contact.\n     * @param {string} contactId Link contact ID.\n     * @param {Array<WebitelContactsInputEmailAddress>} input Fixed set of email address(es) to be linked with the contact. Email address(es) that conflicts(email) with already linked will be updated.\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async mergeEmails(\n      contactId: string,\n      input: Array<WebitelContactsInputEmailAddress>,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsEmailList>\n    > {\n      const localVarAxiosArgs = await EmailsApiAxiosParamCreator(\n        configuration\n      ).mergeEmails(contactId, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Resets all emails of the contact according to the input dataset.\n     * @param {string} contactId Link contact ID.\n     * @param {Array<WebitelContactsInputEmailAddress>} input Final set of email address(es) to be linked with the contact. Email address(es) that are already linked with the contact but not given in here will be removed.\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async resetEmails(\n      contactId: string,\n      input: Array<WebitelContactsInputEmailAddress>,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsEmailList>\n    > {\n      const localVarAxiosArgs = await EmailsApiAxiosParamCreator(\n        configuration\n      ).resetEmails(contactId, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update the contact\\'s email address link details\n     * @param {string} contactId Link contact ID.\n     * @param {string} etag Unique ID of the latest version of an existing resorce.\n     * @param {NEWUpdateOfTheEmailAddressLink} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateEmail(\n      contactId: string,\n      etag: string,\n      input: NEWUpdateOfTheEmailAddressLink,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsEmailList>\n    > {\n      const localVarAxiosArgs = await EmailsApiAxiosParamCreator(\n        configuration\n      ).updateEmail(contactId, etag, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update the contact\\'s email address link details\n     * @param {string} contactId Link contact ID.\n     * @param {string} etag Unique ID of the latest version of an existing resorce.\n     * @param {NEWUpdateOfTheEmailAddressLink1} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateEmail2(\n      contactId: string,\n      etag: string,\n      input: NEWUpdateOfTheEmailAddressLink1,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsEmailList>\n    > {\n      const localVarAxiosArgs = await EmailsApiAxiosParamCreator(\n        configuration\n      ).updateEmail2(contactId, etag, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * EmailsApi - factory interface\n * @export\n */\nexport const EmailsApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Remove the contact\\'s email address link\n     * @param {string} contactId Contact ID associated with.\n     * @param {string} etag Unique ID to remove.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteEmail(\n      contactId: string,\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsEmailAddress> {\n      return EmailsApiFp(configuration)\n        .deleteEmail(contactId, etag, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Remove email address(es) of the contact.\n     * @param {string} contactId Contact ID associated with.\n     * @param {Array<string>} etag Set of unique ID(s) to remove.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteEmails(\n      contactId: string,\n      etag: Array<string>,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsEmailList> {\n      return EmailsApiFp(configuration)\n        .deleteEmails(contactId, etag, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Locates email address(es) of the contact.\n     * @param {string} contactId The Contact ID linked with.\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {string} [q] Search term: email address. &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {Array<string>} [id] Link(s) with unique ID only.\n     * @param {boolean} [primary] Primary email address only.\n     * @param {boolean} [verified] Verified email addresses only.\n     * @param {string} [typeId] Reference Object unique ID.\n     * @param {string} [typeType] Reference Object well-known type.\n     * @param {string} [typeName] Reference Object display name.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listEmails(\n      contactId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      primary?: boolean,\n      verified?: boolean,\n      typeId?: string,\n      typeType?: string,\n      typeName?: string,\n      options?: any\n    ): AxiosPromise<WebitelContactsEmailList> {\n      return EmailsApiFp(configuration)\n        .listEmails(\n          contactId,\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          id,\n          primary,\n          verified,\n          typeId,\n          typeType,\n          typeName,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Locate the email address link.\n     * @param {string} contactId Contact source ID.\n     * @param {string} etag Unique mail address link IDentifier. Accept: &#x60;etag&#x60; (obsolete+) or &#x60;id&#x60;.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateEmail(\n      contactId: string,\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsEmailAddress> {\n      return EmailsApiFp(configuration)\n        .locateEmail(contactId, etag, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update or append email address(es) of the contact.\n     * @param {string} contactId Link contact ID.\n     * @param {Array<WebitelContactsInputEmailAddress>} input Fixed set of email address(es) to be linked with the contact. Email address(es) that conflicts(email) with already linked will be updated.\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    mergeEmails(\n      contactId: string,\n      input: Array<WebitelContactsInputEmailAddress>,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsEmailList> {\n      return EmailsApiFp(configuration)\n        .mergeEmails(contactId, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Resets all emails of the contact according to the input dataset.\n     * @param {string} contactId Link contact ID.\n     * @param {Array<WebitelContactsInputEmailAddress>} input Final set of email address(es) to be linked with the contact. Email address(es) that are already linked with the contact but not given in here will be removed.\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    resetEmails(\n      contactId: string,\n      input: Array<WebitelContactsInputEmailAddress>,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsEmailList> {\n      return EmailsApiFp(configuration)\n        .resetEmails(contactId, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update the contact\\'s email address link details\n     * @param {string} contactId Link contact ID.\n     * @param {string} etag Unique ID of the latest version of an existing resorce.\n     * @param {NEWUpdateOfTheEmailAddressLink} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateEmail(\n      contactId: string,\n      etag: string,\n      input: NEWUpdateOfTheEmailAddressLink,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsEmailList> {\n      return EmailsApiFp(configuration)\n        .updateEmail(contactId, etag, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update the contact\\'s email address link details\n     * @param {string} contactId Link contact ID.\n     * @param {string} etag Unique ID of the latest version of an existing resorce.\n     * @param {NEWUpdateOfTheEmailAddressLink1} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateEmail2(\n      contactId: string,\n      etag: string,\n      input: NEWUpdateOfTheEmailAddressLink1,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsEmailList> {\n      return EmailsApiFp(configuration)\n        .updateEmail2(contactId, etag, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * EmailsApi - object-oriented interface\n * @export\n * @class EmailsApi\n * @extends {BaseAPI}\n */\nexport class EmailsApi extends BaseAPI {\n  /**\n   *\n   * @summary Remove the contact\\'s email address link\n   * @param {string} contactId Contact ID associated with.\n   * @param {string} etag Unique ID to remove.\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof EmailsApi\n   */\n  public deleteEmail(\n    contactId: string,\n    etag: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return EmailsApiFp(this.configuration)\n      .deleteEmail(contactId, etag, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Remove email address(es) of the contact.\n   * @param {string} contactId Contact ID associated with.\n   * @param {Array<string>} etag Set of unique ID(s) to remove.\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof EmailsApi\n   */\n  public deleteEmails(\n    contactId: string,\n    etag: Array<string>,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return EmailsApiFp(this.configuration)\n      .deleteEmails(contactId, etag, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Locates email address(es) of the contact.\n   * @param {string} contactId The Contact ID linked with.\n   * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n   * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n   * @param {string} [q] Search term: email address. &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n   * @param {Array<string>} [sort] Sort the result according to fields.\n   * @param {Array<string>} [fields] Fields to be retrieved into result.\n   * @param {Array<string>} [id] Link(s) with unique ID only.\n   * @param {boolean} [primary] Primary email address only.\n   * @param {boolean} [verified] Verified email addresses only.\n   * @param {string} [typeId] Reference Object unique ID.\n   * @param {string} [typeType] Reference Object well-known type.\n   * @param {string} [typeName] Reference Object display name.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof EmailsApi\n   */\n  public listEmails(\n    contactId: string,\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: Array<string>,\n    fields?: Array<string>,\n    id?: Array<string>,\n    primary?: boolean,\n    verified?: boolean,\n    typeId?: string,\n    typeType?: string,\n    typeName?: string,\n    options?: any\n  ) {\n    return EmailsApiFp(this.configuration)\n      .listEmails(\n        contactId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        primary,\n        verified,\n        typeId,\n        typeType,\n        typeName,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Locate the email address link.\n   * @param {string} contactId Contact source ID.\n   * @param {string} etag Unique mail address link IDentifier. Accept: &#x60;etag&#x60; (obsolete+) or &#x60;id&#x60;.\n   * @param {Array<string>} [fields] Fields to be retrieved into result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof EmailsApi\n   */\n  public locateEmail(\n    contactId: string,\n    etag: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return EmailsApiFp(this.configuration)\n      .locateEmail(contactId, etag, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update or append email address(es) of the contact.\n   * @param {string} contactId Link contact ID.\n   * @param {Array<WebitelContactsInputEmailAddress>} input Fixed set of email address(es) to be linked with the contact. Email address(es) that conflicts(email) with already linked will be updated.\n   * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof EmailsApi\n   */\n  public mergeEmails(\n    contactId: string,\n    input: Array<WebitelContactsInputEmailAddress>,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return EmailsApiFp(this.configuration)\n      .mergeEmails(contactId, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Resets all emails of the contact according to the input dataset.\n   * @param {string} contactId Link contact ID.\n   * @param {Array<WebitelContactsInputEmailAddress>} input Final set of email address(es) to be linked with the contact. Email address(es) that are already linked with the contact but not given in here will be removed.\n   * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof EmailsApi\n   */\n  public resetEmails(\n    contactId: string,\n    input: Array<WebitelContactsInputEmailAddress>,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return EmailsApiFp(this.configuration)\n      .resetEmails(contactId, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update the contact\\'s email address link details\n   * @param {string} contactId Link contact ID.\n   * @param {string} etag Unique ID of the latest version of an existing resorce.\n   * @param {NEWUpdateOfTheEmailAddressLink} input\n   * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof EmailsApi\n   */\n  public updateEmail(\n    contactId: string,\n    etag: string,\n    input: NEWUpdateOfTheEmailAddressLink,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return EmailsApiFp(this.configuration)\n      .updateEmail(contactId, etag, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update the contact\\'s email address link details\n   * @param {string} contactId Link contact ID.\n   * @param {string} etag Unique ID of the latest version of an existing resorce.\n   * @param {NEWUpdateOfTheEmailAddressLink1} input\n   * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof EmailsApi\n   */\n  public updateEmail2(\n    contactId: string,\n    etag: string,\n    input: NEWUpdateOfTheEmailAddressLink1,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return EmailsApiFp(this.configuration)\n      .updateEmail2(contactId, etag, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { WebitelProtoDataInputExtension } from '../api'\n// @ts-ignore\nimport { WebitelProtoDataStruct } from '../api'\n// @ts-ignore\nimport { WebitelProtoDataStructList } from '../api'\n/**\n * ExtensionsApi - axios parameter creator\n * @export\n */\nexport const ExtensionsApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     * returns (Extension) {\n     * @summary Create type extension.\n     * @param {string} repo SUPER &#x60;types.repo&#x60; to extend, e.g.: &#x60;contacts&#x60;. Lookup: GET /types?extendable&#x3D;true\n     * @param {WebitelProtoDataInputExtension} input Extension type fields.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createType: async (\n      repo: string,\n      input: WebitelProtoDataInputExtension,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'repo' is not null or undefined\n      if (repo === null || repo === undefined) {\n        throw new RequiredError(\n          'repo',\n          'Required parameter repo was null or undefined when calling createType.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling createType.'\n        )\n      }\n      const localVarPath = `/types/extensions/{repo}`.replace(\n        `{${'repo'}}`,\n        encodeURIComponent(String(repo))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     * returns (ExtensionList) {\n     * @summary Delete extension for types.\n     * @param {Array<string>} repo &#x60;type.repo&#x60;\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteType: async (\n      repo: Array<string>,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'repo' is not null or undefined\n      if (repo === null || repo === undefined) {\n        throw new RequiredError(\n          'repo',\n          'Required parameter repo was null or undefined when calling deleteType.'\n        )\n      }\n      const localVarPath = `/types/extensions/{repo}`.replace(\n        `{${'repo'}}`,\n        encodeURIComponent(String(repo))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     * returns (ExtensionList) {\n     * @summary Delete extension for types.\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [repo] &#x60;type.repo&#x60;\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteType2: async (\n      fields?: Array<string>,\n      repo?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/types/extensions`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (repo) {\n        localVarQueryParameter['repo'] = repo\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     * returns (Extension) {\n     * @summary Type extension details.\n     * @param {string} repo &#x60;type.repo&#x60;  id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateType: async (\n      repo: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'repo' is not null or undefined\n      if (repo === null || repo === undefined) {\n        throw new RequiredError(\n          'repo',\n          'Required parameter repo was null or undefined when calling locateType.'\n        )\n      }\n      const localVarPath = `/types/extensions/{repo}`.replace(\n        `{${'repo'}}`,\n        encodeURIComponent(String(repo))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     * (ExtensionList) {\n     * @summary Search for type extensions.\n     * @param {number} [size] Number of result records (per page). Default: 16.\n     * @param {number} [page] Page number of result set of records. Default: 1.\n     * @param {Array<string>} [sort] Sort result dataset of records by fields. &#x60;&#x60;&#x60; sort ::&#x3D; *( ORDER name )  ORDER  &#x3D; ASC / DESC DESC   &#x3D; \\&quot;-\\&quot; / \\&quot;!\\&quot; ASC    &#x3D; [ \\&quot;+\\&quot; ]   ; Default &#x60;&#x60;&#x60;  Fields available  - &#x60;id&#x60;(seq) - &#x60;domain&#x60;{name} - &#x60;created_at&#x60; - &#x60;created_by&#x60;{name} - &#x60;updated_at&#x60; - &#x60;updated_by&#x60;{name}  Use ?fields&#x3D;&#x60;field.sort()&#x60; option to sort Edge fields.\n     * @param {Array<string>} [fields] Fields [Q]uery to build result dataset record. &#x60;&#x60;&#x60; fields ::&#x3D; field [ *( \\&quot;,\\&quot; field ) ] field  ::&#x3D; name [ *( func ) ] [ inner ] inner  ::&#x3D; \\&quot;{\\&quot; fields \\&quot;}\\&quot; funcs  ::&#x3D; *( func ) func   ::&#x3D; \\&quot;.\\&quot; name \\&quot;(\\&quot; [ args ] \\&quot;)\\&quot; name   ::&#x3D; ALPHA / DIGIT / USCORE  ALPHA    &#x3D; %x41-5A / %x61-7A  ; \\&quot;A\\&quot;-\\&quot;Z\\&quot; / \\&quot;a\\&quot;-\\&quot;z\\&quot; DIGIT    &#x3D; %x30-39            ; \\&quot;0\\&quot;-\\&quot;9\\&quot; USCORE   &#x3D; %x5F ; underscore  ; \\&quot;_\\&quot; &#x60;&#x60;&#x60;\n     * @param {string} [q] Search term: &#x60;?&#x60; - matches any character &#x60;*&#x60; - matches 0 or more characters e.g.: name,emails{type},labels etc...\n     * @param {Array<string>} [id] extension.type.id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchType: async (\n      size?: number,\n      page?: number,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      q?: string,\n      id?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/types/extensions`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     * returns (Extension) {\n     * @summary Update type extension.\n     * @param {string} repo &#x60;type.repo&#x60;\n     * @param {WebitelProtoDataInputExtension} input\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateType: async (\n      repo: string,\n      input: WebitelProtoDataInputExtension,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'repo' is not null or undefined\n      if (repo === null || repo === undefined) {\n        throw new RequiredError(\n          'repo',\n          'Required parameter repo was null or undefined when calling updateType.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateType.'\n        )\n      }\n      const localVarPath = `/types/extensions/{repo}`.replace(\n        `{${'repo'}}`,\n        encodeURIComponent(String(repo))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * ExtensionsApi - functional programming interface\n * @export\n */\nexport const ExtensionsApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     * returns (Extension) {\n     * @summary Create type extension.\n     * @param {string} repo SUPER &#x60;types.repo&#x60; to extend, e.g.: &#x60;contacts&#x60;. Lookup: GET /types?extendable&#x3D;true\n     * @param {WebitelProtoDataInputExtension} input Extension type fields.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createType(\n      repo: string,\n      input: WebitelProtoDataInputExtension,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelProtoDataStruct>\n    > {\n      const localVarAxiosArgs = await ExtensionsApiAxiosParamCreator(\n        configuration\n      ).createType(repo, input, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     * returns (ExtensionList) {\n     * @summary Delete extension for types.\n     * @param {Array<string>} repo &#x60;type.repo&#x60;\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteType(\n      repo: Array<string>,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelProtoDataStructList>\n    > {\n      const localVarAxiosArgs = await ExtensionsApiAxiosParamCreator(\n        configuration\n      ).deleteType(repo, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     * returns (ExtensionList) {\n     * @summary Delete extension for types.\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [repo] &#x60;type.repo&#x60;\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteType2(\n      fields?: Array<string>,\n      repo?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelProtoDataStructList>\n    > {\n      const localVarAxiosArgs = await ExtensionsApiAxiosParamCreator(\n        configuration\n      ).deleteType2(fields, repo, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     * returns (Extension) {\n     * @summary Type extension details.\n     * @param {string} repo &#x60;type.repo&#x60;  id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async locateType(\n      repo: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelProtoDataStruct>\n    > {\n      const localVarAxiosArgs = await ExtensionsApiAxiosParamCreator(\n        configuration\n      ).locateType(repo, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     * (ExtensionList) {\n     * @summary Search for type extensions.\n     * @param {number} [size] Number of result records (per page). Default: 16.\n     * @param {number} [page] Page number of result set of records. Default: 1.\n     * @param {Array<string>} [sort] Sort result dataset of records by fields. &#x60;&#x60;&#x60; sort ::&#x3D; *( ORDER name )  ORDER  &#x3D; ASC / DESC DESC   &#x3D; \\&quot;-\\&quot; / \\&quot;!\\&quot; ASC    &#x3D; [ \\&quot;+\\&quot; ]   ; Default &#x60;&#x60;&#x60;  Fields available  - &#x60;id&#x60;(seq) - &#x60;domain&#x60;{name} - &#x60;created_at&#x60; - &#x60;created_by&#x60;{name} - &#x60;updated_at&#x60; - &#x60;updated_by&#x60;{name}  Use ?fields&#x3D;&#x60;field.sort()&#x60; option to sort Edge fields.\n     * @param {Array<string>} [fields] Fields [Q]uery to build result dataset record. &#x60;&#x60;&#x60; fields ::&#x3D; field [ *( \\&quot;,\\&quot; field ) ] field  ::&#x3D; name [ *( func ) ] [ inner ] inner  ::&#x3D; \\&quot;{\\&quot; fields \\&quot;}\\&quot; funcs  ::&#x3D; *( func ) func   ::&#x3D; \\&quot;.\\&quot; name \\&quot;(\\&quot; [ args ] \\&quot;)\\&quot; name   ::&#x3D; ALPHA / DIGIT / USCORE  ALPHA    &#x3D; %x41-5A / %x61-7A  ; \\&quot;A\\&quot;-\\&quot;Z\\&quot; / \\&quot;a\\&quot;-\\&quot;z\\&quot; DIGIT    &#x3D; %x30-39            ; \\&quot;0\\&quot;-\\&quot;9\\&quot; USCORE   &#x3D; %x5F ; underscore  ; \\&quot;_\\&quot; &#x60;&#x60;&#x60;\n     * @param {string} [q] Search term: &#x60;?&#x60; - matches any character &#x60;*&#x60; - matches 0 or more characters e.g.: name,emails{type},labels etc...\n     * @param {Array<string>} [id] extension.type.id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchType(\n      size?: number,\n      page?: number,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      q?: string,\n      id?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelProtoDataStructList>\n    > {\n      const localVarAxiosArgs = await ExtensionsApiAxiosParamCreator(\n        configuration\n      ).searchType(size, page, sort, fields, q, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     * returns (Extension) {\n     * @summary Update type extension.\n     * @param {string} repo &#x60;type.repo&#x60;\n     * @param {WebitelProtoDataInputExtension} input\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateType(\n      repo: string,\n      input: WebitelProtoDataInputExtension,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelProtoDataStruct>\n    > {\n      const localVarAxiosArgs = await ExtensionsApiAxiosParamCreator(\n        configuration\n      ).updateType(repo, input, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * ExtensionsApi - factory interface\n * @export\n */\nexport const ExtensionsApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     * returns (Extension) {\n     * @summary Create type extension.\n     * @param {string} repo SUPER &#x60;types.repo&#x60; to extend, e.g.: &#x60;contacts&#x60;. Lookup: GET /types?extendable&#x3D;true\n     * @param {WebitelProtoDataInputExtension} input Extension type fields.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createType(\n      repo: string,\n      input: WebitelProtoDataInputExtension,\n      options?: any\n    ): AxiosPromise<WebitelProtoDataStruct> {\n      return ExtensionsApiFp(configuration)\n        .createType(repo, input, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     * returns (ExtensionList) {\n     * @summary Delete extension for types.\n     * @param {Array<string>} repo &#x60;type.repo&#x60;\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteType(\n      repo: Array<string>,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelProtoDataStructList> {\n      return ExtensionsApiFp(configuration)\n        .deleteType(repo, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     * returns (ExtensionList) {\n     * @summary Delete extension for types.\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [repo] &#x60;type.repo&#x60;\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteType2(\n      fields?: Array<string>,\n      repo?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelProtoDataStructList> {\n      return ExtensionsApiFp(configuration)\n        .deleteType2(fields, repo, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     * returns (Extension) {\n     * @summary Type extension details.\n     * @param {string} repo &#x60;type.repo&#x60;  id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateType(\n      repo: string,\n      options?: any\n    ): AxiosPromise<WebitelProtoDataStruct> {\n      return ExtensionsApiFp(configuration)\n        .locateType(repo, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     * (ExtensionList) {\n     * @summary Search for type extensions.\n     * @param {number} [size] Number of result records (per page). Default: 16.\n     * @param {number} [page] Page number of result set of records. Default: 1.\n     * @param {Array<string>} [sort] Sort result dataset of records by fields. &#x60;&#x60;&#x60; sort ::&#x3D; *( ORDER name )  ORDER  &#x3D; ASC / DESC DESC   &#x3D; \\&quot;-\\&quot; / \\&quot;!\\&quot; ASC    &#x3D; [ \\&quot;+\\&quot; ]   ; Default &#x60;&#x60;&#x60;  Fields available  - &#x60;id&#x60;(seq) - &#x60;domain&#x60;{name} - &#x60;created_at&#x60; - &#x60;created_by&#x60;{name} - &#x60;updated_at&#x60; - &#x60;updated_by&#x60;{name}  Use ?fields&#x3D;&#x60;field.sort()&#x60; option to sort Edge fields.\n     * @param {Array<string>} [fields] Fields [Q]uery to build result dataset record. &#x60;&#x60;&#x60; fields ::&#x3D; field [ *( \\&quot;,\\&quot; field ) ] field  ::&#x3D; name [ *( func ) ] [ inner ] inner  ::&#x3D; \\&quot;{\\&quot; fields \\&quot;}\\&quot; funcs  ::&#x3D; *( func ) func   ::&#x3D; \\&quot;.\\&quot; name \\&quot;(\\&quot; [ args ] \\&quot;)\\&quot; name   ::&#x3D; ALPHA / DIGIT / USCORE  ALPHA    &#x3D; %x41-5A / %x61-7A  ; \\&quot;A\\&quot;-\\&quot;Z\\&quot; / \\&quot;a\\&quot;-\\&quot;z\\&quot; DIGIT    &#x3D; %x30-39            ; \\&quot;0\\&quot;-\\&quot;9\\&quot; USCORE   &#x3D; %x5F ; underscore  ; \\&quot;_\\&quot; &#x60;&#x60;&#x60;\n     * @param {string} [q] Search term: &#x60;?&#x60; - matches any character &#x60;*&#x60; - matches 0 or more characters e.g.: name,emails{type},labels etc...\n     * @param {Array<string>} [id] extension.type.id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchType(\n      size?: number,\n      page?: number,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      q?: string,\n      id?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelProtoDataStructList> {\n      return ExtensionsApiFp(configuration)\n        .searchType(size, page, sort, fields, q, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     * returns (Extension) {\n     * @summary Update type extension.\n     * @param {string} repo &#x60;type.repo&#x60;\n     * @param {WebitelProtoDataInputExtension} input\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateType(\n      repo: string,\n      input: WebitelProtoDataInputExtension,\n      options?: any\n    ): AxiosPromise<WebitelProtoDataStruct> {\n      return ExtensionsApiFp(configuration)\n        .updateType(repo, input, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * ExtensionsApi - object-oriented interface\n * @export\n * @class ExtensionsApi\n * @extends {BaseAPI}\n */\nexport class ExtensionsApi extends BaseAPI {\n  /**\n   * returns (Extension) {\n   * @summary Create type extension.\n   * @param {string} repo SUPER &#x60;types.repo&#x60; to extend, e.g.: &#x60;contacts&#x60;. Lookup: GET /types?extendable&#x3D;true\n   * @param {WebitelProtoDataInputExtension} input Extension type fields.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ExtensionsApi\n   */\n  public createType(\n    repo: string,\n    input: WebitelProtoDataInputExtension,\n    options?: any\n  ) {\n    return ExtensionsApiFp(this.configuration)\n      .createType(repo, input, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   * returns (ExtensionList) {\n   * @summary Delete extension for types.\n   * @param {Array<string>} repo &#x60;type.repo&#x60;\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ExtensionsApi\n   */\n  public deleteType(\n    repo: Array<string>,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return ExtensionsApiFp(this.configuration)\n      .deleteType(repo, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   * returns (ExtensionList) {\n   * @summary Delete extension for types.\n   * @param {Array<string>} [fields]\n   * @param {Array<string>} [repo] &#x60;type.repo&#x60;\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ExtensionsApi\n   */\n  public deleteType2(\n    fields?: Array<string>,\n    repo?: Array<string>,\n    options?: any\n  ) {\n    return ExtensionsApiFp(this.configuration)\n      .deleteType2(fields, repo, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   * returns (Extension) {\n   * @summary Type extension details.\n   * @param {string} repo &#x60;type.repo&#x60;  id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ExtensionsApi\n   */\n  public locateType(repo: string, options?: any) {\n    return ExtensionsApiFp(this.configuration)\n      .locateType(repo, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   * (ExtensionList) {\n   * @summary Search for type extensions.\n   * @param {number} [size] Number of result records (per page). Default: 16.\n   * @param {number} [page] Page number of result set of records. Default: 1.\n   * @param {Array<string>} [sort] Sort result dataset of records by fields. &#x60;&#x60;&#x60; sort ::&#x3D; *( ORDER name )  ORDER  &#x3D; ASC / DESC DESC   &#x3D; \\&quot;-\\&quot; / \\&quot;!\\&quot; ASC    &#x3D; [ \\&quot;+\\&quot; ]   ; Default &#x60;&#x60;&#x60;  Fields available  - &#x60;id&#x60;(seq) - &#x60;domain&#x60;{name} - &#x60;created_at&#x60; - &#x60;created_by&#x60;{name} - &#x60;updated_at&#x60; - &#x60;updated_by&#x60;{name}  Use ?fields&#x3D;&#x60;field.sort()&#x60; option to sort Edge fields.\n   * @param {Array<string>} [fields] Fields [Q]uery to build result dataset record. &#x60;&#x60;&#x60; fields ::&#x3D; field [ *( \\&quot;,\\&quot; field ) ] field  ::&#x3D; name [ *( func ) ] [ inner ] inner  ::&#x3D; \\&quot;{\\&quot; fields \\&quot;}\\&quot; funcs  ::&#x3D; *( func ) func   ::&#x3D; \\&quot;.\\&quot; name \\&quot;(\\&quot; [ args ] \\&quot;)\\&quot; name   ::&#x3D; ALPHA / DIGIT / USCORE  ALPHA    &#x3D; %x41-5A / %x61-7A  ; \\&quot;A\\&quot;-\\&quot;Z\\&quot; / \\&quot;a\\&quot;-\\&quot;z\\&quot; DIGIT    &#x3D; %x30-39            ; \\&quot;0\\&quot;-\\&quot;9\\&quot; USCORE   &#x3D; %x5F ; underscore  ; \\&quot;_\\&quot; &#x60;&#x60;&#x60;\n   * @param {string} [q] Search term: &#x60;?&#x60; - matches any character &#x60;*&#x60; - matches 0 or more characters e.g.: name,emails{type},labels etc...\n   * @param {Array<string>} [id] extension.type.id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ExtensionsApi\n   */\n  public searchType(\n    size?: number,\n    page?: number,\n    sort?: Array<string>,\n    fields?: Array<string>,\n    q?: string,\n    id?: Array<string>,\n    options?: any\n  ) {\n    return ExtensionsApiFp(this.configuration)\n      .searchType(size, page, sort, fields, q, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   * returns (Extension) {\n   * @summary Update type extension.\n   * @param {string} repo &#x60;type.repo&#x60;\n   * @param {WebitelProtoDataInputExtension} input\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ExtensionsApi\n   */\n  public updateType(\n    repo: string,\n    input: WebitelProtoDataInputExtension,\n    options?: any\n  ) {\n    return ExtensionsApiFp(this.configuration)\n      .updateType(repo, input, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { FtsSearchResponse } from '../api'\n// @ts-ignore\nimport { RpcStatus } from '../api'\n/**\n * FTSServiceApi - axios parameter creator\n * @export\n */\nexport const FTSServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [objectName]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    search: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      objectName?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/search`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (objectName) {\n        localVarQueryParameter['object_name'] = objectName\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * FTSServiceApi - functional programming interface\n * @export\n */\nexport const FTSServiceApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [objectName]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async search(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      objectName?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<FtsSearchResponse>\n    > {\n      const localVarAxiosArgs = await FTSServiceApiAxiosParamCreator(\n        configuration\n      ).search(page, size, q, sort, fields, objectName, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * FTSServiceApi - factory interface\n * @export\n */\nexport const FTSServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [objectName]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    search(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      objectName?: Array<string>,\n      options?: any\n    ): AxiosPromise<FtsSearchResponse> {\n      return FTSServiceApiFp(configuration)\n        .search(page, size, q, sort, fields, objectName, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * FTSServiceApi - object-oriented interface\n * @export\n * @class FTSServiceApi\n * @extends {BaseAPI}\n */\nexport class FTSServiceApi extends BaseAPI {\n  /**\n   *\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<string>} [objectName]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof FTSServiceApi\n   */\n  public search(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    objectName?: Array<string>,\n    options?: any\n  ) {\n    return FTSServiceApiFp(this.configuration)\n      .search(page, size, q, sort, fields, objectName, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { GrpcGatewayRuntimeError } from '../api'\n// @ts-ignore\nimport { StorageCreateFilePolicyRequest } from '../api'\n// @ts-ignore\nimport { StorageFilePolicy } from '../api'\n// @ts-ignore\nimport { StorageFilePolicyApplyRequest } from '../api'\n// @ts-ignore\nimport { StorageFilePolicyApplyResponse } from '../api'\n// @ts-ignore\nimport { StorageListFilePolicies } from '../api'\n// @ts-ignore\nimport { StorageMovePositionFilePolicyRequest } from '../api'\n// @ts-ignore\nimport { StorageMovePositionFilePolicyResponse } from '../api'\n// @ts-ignore\nimport { StoragePatchFilePolicyRequest } from '../api'\n// @ts-ignore\nimport { StorageUpdateFilePolicyRequest } from '../api'\n/**\n * FilePoliciesServiceApi - axios parameter creator\n * @export\n */\nexport const FilePoliciesServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create FilePolicy\n     * @param {StorageCreateFilePolicyRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createFilePolicy: async (\n      body: StorageCreateFilePolicyRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createFilePolicy.'\n        )\n      }\n      const localVarPath = `/storage/file_policies`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Remove FilePolicy\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteFilePolicy: async (\n      id: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteFilePolicy.'\n        )\n      }\n      const localVarPath = `/storage/file_policies/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {StorageFilePolicyApplyRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    filePolicyApply: async (\n      id: number,\n      body: StorageFilePolicyApplyRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling filePolicyApply.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling filePolicyApply.'\n        )\n      }\n      const localVarPath = `/storage/file_policies/{id}/apply`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} fromId\n     * @param {number} toId\n     * @param {StorageMovePositionFilePolicyRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    movePositionFilePolicy: async (\n      fromId: number,\n      toId: number,\n      body: StorageMovePositionFilePolicyRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'fromId' is not null or undefined\n      if (fromId === null || fromId === undefined) {\n        throw new RequiredError(\n          'fromId',\n          'Required parameter fromId was null or undefined when calling movePositionFilePolicy.'\n        )\n      }\n      // verify required parameter 'toId' is not null or undefined\n      if (toId === null || toId === undefined) {\n        throw new RequiredError(\n          'toId',\n          'Required parameter toId was null or undefined when calling movePositionFilePolicy.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling movePositionFilePolicy.'\n        )\n      }\n      const localVarPath = `/storage/file_policies/{from_id}/to/{to_id}`\n        .replace(`{${'from_id'}}`, encodeURIComponent(String(fromId)))\n        .replace(`{${'to_id'}}`, encodeURIComponent(String(toId)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Patch FilePolicy\n     * @param {number} id\n     * @param {StoragePatchFilePolicyRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchFilePolicy: async (\n      id: number,\n      body: StoragePatchFilePolicyRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling patchFilePolicy.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling patchFilePolicy.'\n        )\n      }\n      const localVarPath = `/storage/file_policies/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary FilePolicy item\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readFilePolicy: async (\n      id: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readFilePolicy.'\n        )\n      }\n      const localVarPath = `/storage/file_policies/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary List of FilePolicy\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchFilePolicies: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/storage/file_policies`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update FilePolicy\n     * @param {number} id\n     * @param {StorageUpdateFilePolicyRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateFilePolicy: async (\n      id: number,\n      body: StorageUpdateFilePolicyRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateFilePolicy.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateFilePolicy.'\n        )\n      }\n      const localVarPath = `/storage/file_policies/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * FilePoliciesServiceApi - functional programming interface\n * @export\n */\nexport const FilePoliciesServiceApiFp = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create FilePolicy\n     * @param {StorageCreateFilePolicyRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createFilePolicy(\n      body: StorageCreateFilePolicyRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<StorageFilePolicy>\n    > {\n      const localVarAxiosArgs = await FilePoliciesServiceApiAxiosParamCreator(\n        configuration\n      ).createFilePolicy(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Remove FilePolicy\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteFilePolicy(\n      id: number,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<StorageFilePolicy>\n    > {\n      const localVarAxiosArgs = await FilePoliciesServiceApiAxiosParamCreator(\n        configuration\n      ).deleteFilePolicy(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {StorageFilePolicyApplyRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async filePolicyApply(\n      id: number,\n      body: StorageFilePolicyApplyRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<StorageFilePolicyApplyResponse>\n    > {\n      const localVarAxiosArgs = await FilePoliciesServiceApiAxiosParamCreator(\n        configuration\n      ).filePolicyApply(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} fromId\n     * @param {number} toId\n     * @param {StorageMovePositionFilePolicyRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async movePositionFilePolicy(\n      fromId: number,\n      toId: number,\n      body: StorageMovePositionFilePolicyRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<StorageMovePositionFilePolicyResponse>\n    > {\n      const localVarAxiosArgs = await FilePoliciesServiceApiAxiosParamCreator(\n        configuration\n      ).movePositionFilePolicy(fromId, toId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Patch FilePolicy\n     * @param {number} id\n     * @param {StoragePatchFilePolicyRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async patchFilePolicy(\n      id: number,\n      body: StoragePatchFilePolicyRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<StorageFilePolicy>\n    > {\n      const localVarAxiosArgs = await FilePoliciesServiceApiAxiosParamCreator(\n        configuration\n      ).patchFilePolicy(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary FilePolicy item\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readFilePolicy(\n      id: number,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<StorageFilePolicy>\n    > {\n      const localVarAxiosArgs = await FilePoliciesServiceApiAxiosParamCreator(\n        configuration\n      ).readFilePolicy(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary List of FilePolicy\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchFilePolicies(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<StorageListFilePolicies>\n    > {\n      const localVarAxiosArgs = await FilePoliciesServiceApiAxiosParamCreator(\n        configuration\n      ).searchFilePolicies(page, size, q, sort, fields, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update FilePolicy\n     * @param {number} id\n     * @param {StorageUpdateFilePolicyRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateFilePolicy(\n      id: number,\n      body: StorageUpdateFilePolicyRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<StorageFilePolicy>\n    > {\n      const localVarAxiosArgs = await FilePoliciesServiceApiAxiosParamCreator(\n        configuration\n      ).updateFilePolicy(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * FilePoliciesServiceApi - factory interface\n * @export\n */\nexport const FilePoliciesServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Create FilePolicy\n     * @param {StorageCreateFilePolicyRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createFilePolicy(\n      body: StorageCreateFilePolicyRequest,\n      options?: any\n    ): AxiosPromise<StorageFilePolicy> {\n      return FilePoliciesServiceApiFp(configuration)\n        .createFilePolicy(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Remove FilePolicy\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteFilePolicy(\n      id: number,\n      options?: any\n    ): AxiosPromise<StorageFilePolicy> {\n      return FilePoliciesServiceApiFp(configuration)\n        .deleteFilePolicy(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {StorageFilePolicyApplyRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    filePolicyApply(\n      id: number,\n      body: StorageFilePolicyApplyRequest,\n      options?: any\n    ): AxiosPromise<StorageFilePolicyApplyResponse> {\n      return FilePoliciesServiceApiFp(configuration)\n        .filePolicyApply(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} fromId\n     * @param {number} toId\n     * @param {StorageMovePositionFilePolicyRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    movePositionFilePolicy(\n      fromId: number,\n      toId: number,\n      body: StorageMovePositionFilePolicyRequest,\n      options?: any\n    ): AxiosPromise<StorageMovePositionFilePolicyResponse> {\n      return FilePoliciesServiceApiFp(configuration)\n        .movePositionFilePolicy(fromId, toId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Patch FilePolicy\n     * @param {number} id\n     * @param {StoragePatchFilePolicyRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchFilePolicy(\n      id: number,\n      body: StoragePatchFilePolicyRequest,\n      options?: any\n    ): AxiosPromise<StorageFilePolicy> {\n      return FilePoliciesServiceApiFp(configuration)\n        .patchFilePolicy(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary FilePolicy item\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readFilePolicy(id: number, options?: any): AxiosPromise<StorageFilePolicy> {\n      return FilePoliciesServiceApiFp(configuration)\n        .readFilePolicy(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary List of FilePolicy\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchFilePolicies(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options?: any\n    ): AxiosPromise<StorageListFilePolicies> {\n      return FilePoliciesServiceApiFp(configuration)\n        .searchFilePolicies(page, size, q, sort, fields, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update FilePolicy\n     * @param {number} id\n     * @param {StorageUpdateFilePolicyRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateFilePolicy(\n      id: number,\n      body: StorageUpdateFilePolicyRequest,\n      options?: any\n    ): AxiosPromise<StorageFilePolicy> {\n      return FilePoliciesServiceApiFp(configuration)\n        .updateFilePolicy(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * FilePoliciesServiceApi - object-oriented interface\n * @export\n * @class FilePoliciesServiceApi\n * @extends {BaseAPI}\n */\nexport class FilePoliciesServiceApi extends BaseAPI {\n  /**\n   *\n   * @summary Create FilePolicy\n   * @param {StorageCreateFilePolicyRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof FilePoliciesServiceApi\n   */\n  public createFilePolicy(body: StorageCreateFilePolicyRequest, options?: any) {\n    return FilePoliciesServiceApiFp(this.configuration)\n      .createFilePolicy(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Remove FilePolicy\n   * @param {number} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof FilePoliciesServiceApi\n   */\n  public deleteFilePolicy(id: number, options?: any) {\n    return FilePoliciesServiceApiFp(this.configuration)\n      .deleteFilePolicy(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} id\n   * @param {StorageFilePolicyApplyRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof FilePoliciesServiceApi\n   */\n  public filePolicyApply(\n    id: number,\n    body: StorageFilePolicyApplyRequest,\n    options?: any\n  ) {\n    return FilePoliciesServiceApiFp(this.configuration)\n      .filePolicyApply(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} fromId\n   * @param {number} toId\n   * @param {StorageMovePositionFilePolicyRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof FilePoliciesServiceApi\n   */\n  public movePositionFilePolicy(\n    fromId: number,\n    toId: number,\n    body: StorageMovePositionFilePolicyRequest,\n    options?: any\n  ) {\n    return FilePoliciesServiceApiFp(this.configuration)\n      .movePositionFilePolicy(fromId, toId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Patch FilePolicy\n   * @param {number} id\n   * @param {StoragePatchFilePolicyRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof FilePoliciesServiceApi\n   */\n  public patchFilePolicy(\n    id: number,\n    body: StoragePatchFilePolicyRequest,\n    options?: any\n  ) {\n    return FilePoliciesServiceApiFp(this.configuration)\n      .patchFilePolicy(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary FilePolicy item\n   * @param {number} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof FilePoliciesServiceApi\n   */\n  public readFilePolicy(id: number, options?: any) {\n    return FilePoliciesServiceApiFp(this.configuration)\n      .readFilePolicy(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary List of FilePolicy\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<number>} [id]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof FilePoliciesServiceApi\n   */\n  public searchFilePolicies(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<number>,\n    options?: any\n  ) {\n    return FilePoliciesServiceApiFp(this.configuration)\n      .searchFilePolicies(page, size, q, sort, fields, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update FilePolicy\n   * @param {number} id\n   * @param {StorageUpdateFilePolicyRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof FilePoliciesServiceApi\n   */\n  public updateFilePolicy(\n    id: number,\n    body: StorageUpdateFilePolicyRequest,\n    options?: any\n  ) {\n    return FilePoliciesServiceApiFp(this.configuration)\n      .updateFilePolicy(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { GrpcGatewayRuntimeError } from '../api'\n// @ts-ignore\nimport { StorageDeleteFilesRequest } from '../api'\n// @ts-ignore\nimport { StorageListFile } from '../api'\n/**\n * FileServiceApi - axios parameter creator\n * @export\n */\nexport const FileServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {StorageDeleteFilesRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteFiles: async (\n      body: StorageDeleteFilesRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling deleteFiles.'\n        )\n      }\n      const localVarPath = `/storage/file`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [id]\n     * @param {string} [uploadedAtFrom]\n     * @param {string} [uploadedAtTo]\n     * @param {Array<string>} [uploadedBy]\n     * @param {Array<string>} [referenceId]\n     * @param {Array<'UnknownChannel' | 'ChatChannel' | 'MailChannel' | 'CallChannel' | 'LogChannel' | 'MediaChannel' | 'KnowledgebaseChannel' | 'CasesChannel'>} [channel]\n     * @param {string} [retentionUntilFrom]\n     * @param {string} [retentionUntilTo]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchFiles: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<string>,\n      uploadedAtFrom?: string,\n      uploadedAtTo?: string,\n      uploadedBy?: Array<string>,\n      referenceId?: Array<string>,\n      channel?: Array<\n        | 'UnknownChannel'\n        | 'ChatChannel'\n        | 'MailChannel'\n        | 'CallChannel'\n        | 'LogChannel'\n        | 'MediaChannel'\n        | 'KnowledgebaseChannel'\n        | 'CasesChannel'\n      >,\n      retentionUntilFrom?: string,\n      retentionUntilTo?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/storage/file`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (uploadedAtFrom !== undefined) {\n        localVarQueryParameter['uploaded_at.from'] = uploadedAtFrom\n      }\n\n      if (uploadedAtTo !== undefined) {\n        localVarQueryParameter['uploaded_at.to'] = uploadedAtTo\n      }\n\n      if (uploadedBy) {\n        localVarQueryParameter['uploaded_by'] = uploadedBy\n      }\n\n      if (referenceId) {\n        localVarQueryParameter['reference_id'] = referenceId\n      }\n\n      if (channel) {\n        localVarQueryParameter['channel'] = channel\n      }\n\n      if (retentionUntilFrom !== undefined) {\n        localVarQueryParameter['retention_until.from'] = retentionUntilFrom\n      }\n\n      if (retentionUntilTo !== undefined) {\n        localVarQueryParameter['retention_until.to'] = retentionUntilTo\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * FileServiceApi - functional programming interface\n * @export\n */\nexport const FileServiceApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @param {StorageDeleteFilesRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteFiles(\n      body: StorageDeleteFilesRequest,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>\n    > {\n      const localVarAxiosArgs = await FileServiceApiAxiosParamCreator(\n        configuration\n      ).deleteFiles(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [id]\n     * @param {string} [uploadedAtFrom]\n     * @param {string} [uploadedAtTo]\n     * @param {Array<string>} [uploadedBy]\n     * @param {Array<string>} [referenceId]\n     * @param {Array<'UnknownChannel' | 'ChatChannel' | 'MailChannel' | 'CallChannel' | 'LogChannel' | 'MediaChannel' | 'KnowledgebaseChannel' | 'CasesChannel'>} [channel]\n     * @param {string} [retentionUntilFrom]\n     * @param {string} [retentionUntilTo]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchFiles(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<string>,\n      uploadedAtFrom?: string,\n      uploadedAtTo?: string,\n      uploadedBy?: Array<string>,\n      referenceId?: Array<string>,\n      channel?: Array<\n        | 'UnknownChannel'\n        | 'ChatChannel'\n        | 'MailChannel'\n        | 'CallChannel'\n        | 'LogChannel'\n        | 'MediaChannel'\n        | 'KnowledgebaseChannel'\n        | 'CasesChannel'\n      >,\n      retentionUntilFrom?: string,\n      retentionUntilTo?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<StorageListFile>\n    > {\n      const localVarAxiosArgs = await FileServiceApiAxiosParamCreator(\n        configuration\n      ).searchFiles(\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        uploadedAtFrom,\n        uploadedAtTo,\n        uploadedBy,\n        referenceId,\n        channel,\n        retentionUntilFrom,\n        retentionUntilTo,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * FileServiceApi - factory interface\n * @export\n */\nexport const FileServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {StorageDeleteFilesRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteFiles(\n      body: StorageDeleteFilesRequest,\n      options?: any\n    ): AxiosPromise<object> {\n      return FileServiceApiFp(configuration)\n        .deleteFiles(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [id]\n     * @param {string} [uploadedAtFrom]\n     * @param {string} [uploadedAtTo]\n     * @param {Array<string>} [uploadedBy]\n     * @param {Array<string>} [referenceId]\n     * @param {Array<'UnknownChannel' | 'ChatChannel' | 'MailChannel' | 'CallChannel' | 'LogChannel' | 'MediaChannel' | 'KnowledgebaseChannel' | 'CasesChannel'>} [channel]\n     * @param {string} [retentionUntilFrom]\n     * @param {string} [retentionUntilTo]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchFiles(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<string>,\n      uploadedAtFrom?: string,\n      uploadedAtTo?: string,\n      uploadedBy?: Array<string>,\n      referenceId?: Array<string>,\n      channel?: Array<\n        | 'UnknownChannel'\n        | 'ChatChannel'\n        | 'MailChannel'\n        | 'CallChannel'\n        | 'LogChannel'\n        | 'MediaChannel'\n        | 'KnowledgebaseChannel'\n        | 'CasesChannel'\n      >,\n      retentionUntilFrom?: string,\n      retentionUntilTo?: string,\n      options?: any\n    ): AxiosPromise<StorageListFile> {\n      return FileServiceApiFp(configuration)\n        .searchFiles(\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          id,\n          uploadedAtFrom,\n          uploadedAtTo,\n          uploadedBy,\n          referenceId,\n          channel,\n          retentionUntilFrom,\n          retentionUntilTo,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * FileServiceApi - object-oriented interface\n * @export\n * @class FileServiceApi\n * @extends {BaseAPI}\n */\nexport class FileServiceApi extends BaseAPI {\n  /**\n   *\n   * @param {StorageDeleteFilesRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof FileServiceApi\n   */\n  public deleteFiles(body: StorageDeleteFilesRequest, options?: any) {\n    return FileServiceApiFp(this.configuration)\n      .deleteFiles(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<string>} [id]\n   * @param {string} [uploadedAtFrom]\n   * @param {string} [uploadedAtTo]\n   * @param {Array<string>} [uploadedBy]\n   * @param {Array<string>} [referenceId]\n   * @param {Array<'UnknownChannel' | 'ChatChannel' | 'MailChannel' | 'CallChannel' | 'LogChannel' | 'MediaChannel' | 'KnowledgebaseChannel' | 'CasesChannel'>} [channel]\n   * @param {string} [retentionUntilFrom]\n   * @param {string} [retentionUntilTo]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof FileServiceApi\n   */\n  public searchFiles(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<string>,\n    uploadedAtFrom?: string,\n    uploadedAtTo?: string,\n    uploadedBy?: Array<string>,\n    referenceId?: Array<string>,\n    channel?: Array<\n      | 'UnknownChannel'\n      | 'ChatChannel'\n      | 'MailChannel'\n      | 'CallChannel'\n      | 'LogChannel'\n      | 'MediaChannel'\n      | 'KnowledgebaseChannel'\n      | 'CasesChannel'\n    >,\n    retentionUntilFrom?: string,\n    retentionUntilTo?: string,\n    options?: any\n  ) {\n    return FileServiceApiFp(this.configuration)\n      .searchFiles(\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        uploadedAtFrom,\n        uploadedAtTo,\n        uploadedBy,\n        referenceId,\n        channel,\n        retentionUntilFrom,\n        retentionUntilTo,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { GrpcGatewayRuntimeError } from '../api'\n// @ts-ignore\nimport { StorageDeleteFileTranscriptRequest } from '../api'\n// @ts-ignore\nimport { StorageDeleteFileTranscriptResponse } from '../api'\n// @ts-ignore\nimport { StorageListPhrases } from '../api'\n// @ts-ignore\nimport { StoragePutFileTranscriptRequest } from '../api'\n// @ts-ignore\nimport { StoragePutFileTranscriptResponse } from '../api'\n// @ts-ignore\nimport { StorageStartFileTranscriptRequest } from '../api'\n// @ts-ignore\nimport { StorageStartFileTranscriptResponse } from '../api'\n/**\n * FileTranscriptServiceApi - axios parameter creator\n * @export\n */\nexport const FileTranscriptServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {StorageStartFileTranscriptRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createFileTranscript: async (\n      body: StorageStartFileTranscriptRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createFileTranscript.'\n        )\n      }\n      const localVarPath = `/storage/transcript_file`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {StorageDeleteFileTranscriptRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteFileTranscript: async (\n      body: StorageDeleteFileTranscriptRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling deleteFileTranscript.'\n        )\n      }\n      const localVarPath = `/storage/transcript_file`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getFileTranscriptPhrases: async (\n      id: string,\n      page?: number,\n      size?: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling getFileTranscriptPhrases.'\n        )\n      }\n      const localVarPath = `/storage/transcript_file/{id}/phrases`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {StoragePutFileTranscriptRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    putFileTranscript: async (\n      body: StoragePutFileTranscriptRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling putFileTranscript.'\n        )\n      }\n      const localVarPath = `/storage/transcript_file`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * FileTranscriptServiceApi - functional programming interface\n * @export\n */\nexport const FileTranscriptServiceApiFp = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {StorageStartFileTranscriptRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createFileTranscript(\n      body: StorageStartFileTranscriptRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<StorageStartFileTranscriptResponse>\n    > {\n      const localVarAxiosArgs = await FileTranscriptServiceApiAxiosParamCreator(\n        configuration\n      ).createFileTranscript(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {StorageDeleteFileTranscriptRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteFileTranscript(\n      body: StorageDeleteFileTranscriptRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<StorageDeleteFileTranscriptResponse>\n    > {\n      const localVarAxiosArgs = await FileTranscriptServiceApiAxiosParamCreator(\n        configuration\n      ).deleteFileTranscript(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getFileTranscriptPhrases(\n      id: string,\n      page?: number,\n      size?: number,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<StorageListPhrases>\n    > {\n      const localVarAxiosArgs = await FileTranscriptServiceApiAxiosParamCreator(\n        configuration\n      ).getFileTranscriptPhrases(id, page, size, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {StoragePutFileTranscriptRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async putFileTranscript(\n      body: StoragePutFileTranscriptRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<StoragePutFileTranscriptResponse>\n    > {\n      const localVarAxiosArgs = await FileTranscriptServiceApiAxiosParamCreator(\n        configuration\n      ).putFileTranscript(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * FileTranscriptServiceApi - factory interface\n * @export\n */\nexport const FileTranscriptServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {StorageStartFileTranscriptRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createFileTranscript(\n      body: StorageStartFileTranscriptRequest,\n      options?: any\n    ): AxiosPromise<StorageStartFileTranscriptResponse> {\n      return FileTranscriptServiceApiFp(configuration)\n        .createFileTranscript(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {StorageDeleteFileTranscriptRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteFileTranscript(\n      body: StorageDeleteFileTranscriptRequest,\n      options?: any\n    ): AxiosPromise<StorageDeleteFileTranscriptResponse> {\n      return FileTranscriptServiceApiFp(configuration)\n        .deleteFileTranscript(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getFileTranscriptPhrases(\n      id: string,\n      page?: number,\n      size?: number,\n      options?: any\n    ): AxiosPromise<StorageListPhrases> {\n      return FileTranscriptServiceApiFp(configuration)\n        .getFileTranscriptPhrases(id, page, size, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {StoragePutFileTranscriptRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    putFileTranscript(\n      body: StoragePutFileTranscriptRequest,\n      options?: any\n    ): AxiosPromise<StoragePutFileTranscriptResponse> {\n      return FileTranscriptServiceApiFp(configuration)\n        .putFileTranscript(body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * FileTranscriptServiceApi - object-oriented interface\n * @export\n * @class FileTranscriptServiceApi\n * @extends {BaseAPI}\n */\nexport class FileTranscriptServiceApi extends BaseAPI {\n  /**\n   *\n   * @param {StorageStartFileTranscriptRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof FileTranscriptServiceApi\n   */\n  public createFileTranscript(\n    body: StorageStartFileTranscriptRequest,\n    options?: any\n  ) {\n    return FileTranscriptServiceApiFp(this.configuration)\n      .createFileTranscript(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {StorageDeleteFileTranscriptRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof FileTranscriptServiceApi\n   */\n  public deleteFileTranscript(\n    body: StorageDeleteFileTranscriptRequest,\n    options?: any\n  ) {\n    return FileTranscriptServiceApiFp(this.configuration)\n      .deleteFileTranscript(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof FileTranscriptServiceApi\n   */\n  public getFileTranscriptPhrases(\n    id: string,\n    page?: number,\n    size?: number,\n    options?: any\n  ) {\n    return FileTranscriptServiceApiFp(this.configuration)\n      .getFileTranscriptPhrases(id, page, size, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {StoragePutFileTranscriptRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof FileTranscriptServiceApi\n   */\n  public putFileTranscript(\n    body: StoragePutFileTranscriptRequest,\n    options?: any\n  ) {\n    return FileTranscriptServiceApiFp(this.configuration)\n      .putFileTranscript(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { InlineObject7 } from '../api'\n// @ts-ignore\nimport { WfmCreateForecastCalculationRequest } from '../api'\n// @ts-ignore\nimport { WfmCreateForecastCalculationResponse } from '../api'\n// @ts-ignore\nimport { WfmDeleteForecastCalculationResponse } from '../api'\n// @ts-ignore\nimport { WfmExecuteForecastCalculationResponse } from '../api'\n// @ts-ignore\nimport { WfmReadForecastCalculationResponse } from '../api'\n// @ts-ignore\nimport { WfmSearchForecastCalculationResponse } from '../api'\n// @ts-ignore\nimport { WfmUpdateForecastCalculationResponse } from '../api'\n/**\n * ForecastCalculationServiceApi - axios parameter creator\n * @export\n */\nexport const ForecastCalculationServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {WfmCreateForecastCalculationRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createForecastCalculation: async (\n      body: WfmCreateForecastCalculationRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createForecastCalculation.'\n        )\n      }\n      const localVarPath = `/wfm/lookups/forecast_calculation`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteForecastCalculation: async (\n      id: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteForecastCalculation.'\n        )\n      }\n      const localVarPath = `/wfm/lookups/forecast_calculation/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {string} [teamId]\n     * @param {string} [forecastDataFrom]\n     * @param {string} [forecastDataTo]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    executeForecastCalculation: async (\n      id: string,\n      teamId?: string,\n      forecastDataFrom?: string,\n      forecastDataTo?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling executeForecastCalculation.'\n        )\n      }\n      const localVarPath = `/wfm/lookups/forecast_calculation/{id}/execute`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (teamId !== undefined) {\n        localVarQueryParameter['team_id'] = teamId\n      }\n\n      if (forecastDataFrom !== undefined) {\n        localVarQueryParameter['forecast_data.from'] = forecastDataFrom\n      }\n\n      if (forecastDataTo !== undefined) {\n        localVarQueryParameter['forecast_data.to'] = forecastDataTo\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readForecastCalculation: async (\n      id: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readForecastCalculation.'\n        )\n      }\n      const localVarPath = `/wfm/lookups/forecast_calculation/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} [q]\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchForecastCalculation: async (\n      q?: string,\n      page?: number,\n      size?: number,\n      sort?: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/wfm/lookups/forecast_calculation`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} itemId\n     * @param {InlineObject7} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateForecastCalculation: async (\n      itemId: string,\n      body: InlineObject7,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'itemId' is not null or undefined\n      if (itemId === null || itemId === undefined) {\n        throw new RequiredError(\n          'itemId',\n          'Required parameter itemId was null or undefined when calling updateForecastCalculation.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateForecastCalculation.'\n        )\n      }\n      const localVarPath = `/wfm/lookups/forecast_calculation/{item.id}`.replace(\n        `{${'item.id'}}`,\n        encodeURIComponent(String(itemId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * ForecastCalculationServiceApi - functional programming interface\n * @export\n */\nexport const ForecastCalculationServiceApiFp = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {WfmCreateForecastCalculationRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createForecastCalculation(\n      body: WfmCreateForecastCalculationRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmCreateForecastCalculationResponse>\n    > {\n      const localVarAxiosArgs = await ForecastCalculationServiceApiAxiosParamCreator(\n        configuration\n      ).createForecastCalculation(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteForecastCalculation(\n      id: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmDeleteForecastCalculationResponse>\n    > {\n      const localVarAxiosArgs = await ForecastCalculationServiceApiAxiosParamCreator(\n        configuration\n      ).deleteForecastCalculation(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {string} [teamId]\n     * @param {string} [forecastDataFrom]\n     * @param {string} [forecastDataTo]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async executeForecastCalculation(\n      id: string,\n      teamId?: string,\n      forecastDataFrom?: string,\n      forecastDataTo?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmExecuteForecastCalculationResponse>\n    > {\n      const localVarAxiosArgs = await ForecastCalculationServiceApiAxiosParamCreator(\n        configuration\n      ).executeForecastCalculation(\n        id,\n        teamId,\n        forecastDataFrom,\n        forecastDataTo,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readForecastCalculation(\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmReadForecastCalculationResponse>\n    > {\n      const localVarAxiosArgs = await ForecastCalculationServiceApiAxiosParamCreator(\n        configuration\n      ).readForecastCalculation(id, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} [q]\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchForecastCalculation(\n      q?: string,\n      page?: number,\n      size?: number,\n      sort?: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmSearchForecastCalculationResponse>\n    > {\n      const localVarAxiosArgs = await ForecastCalculationServiceApiAxiosParamCreator(\n        configuration\n      ).searchForecastCalculation(q, page, size, sort, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} itemId\n     * @param {InlineObject7} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateForecastCalculation(\n      itemId: string,\n      body: InlineObject7,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmUpdateForecastCalculationResponse>\n    > {\n      const localVarAxiosArgs = await ForecastCalculationServiceApiAxiosParamCreator(\n        configuration\n      ).updateForecastCalculation(itemId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * ForecastCalculationServiceApi - factory interface\n * @export\n */\nexport const ForecastCalculationServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {WfmCreateForecastCalculationRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createForecastCalculation(\n      body: WfmCreateForecastCalculationRequest,\n      options?: any\n    ): AxiosPromise<WfmCreateForecastCalculationResponse> {\n      return ForecastCalculationServiceApiFp(configuration)\n        .createForecastCalculation(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteForecastCalculation(\n      id: string,\n      options?: any\n    ): AxiosPromise<WfmDeleteForecastCalculationResponse> {\n      return ForecastCalculationServiceApiFp(configuration)\n        .deleteForecastCalculation(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {string} [teamId]\n     * @param {string} [forecastDataFrom]\n     * @param {string} [forecastDataTo]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    executeForecastCalculation(\n      id: string,\n      teamId?: string,\n      forecastDataFrom?: string,\n      forecastDataTo?: string,\n      options?: any\n    ): AxiosPromise<WfmExecuteForecastCalculationResponse> {\n      return ForecastCalculationServiceApiFp(configuration)\n        .executeForecastCalculation(\n          id,\n          teamId,\n          forecastDataFrom,\n          forecastDataTo,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readForecastCalculation(\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WfmReadForecastCalculationResponse> {\n      return ForecastCalculationServiceApiFp(configuration)\n        .readForecastCalculation(id, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} [q]\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchForecastCalculation(\n      q?: string,\n      page?: number,\n      size?: number,\n      sort?: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WfmSearchForecastCalculationResponse> {\n      return ForecastCalculationServiceApiFp(configuration)\n        .searchForecastCalculation(q, page, size, sort, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} itemId\n     * @param {InlineObject7} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateForecastCalculation(\n      itemId: string,\n      body: InlineObject7,\n      options?: any\n    ): AxiosPromise<WfmUpdateForecastCalculationResponse> {\n      return ForecastCalculationServiceApiFp(configuration)\n        .updateForecastCalculation(itemId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * ForecastCalculationServiceApi - object-oriented interface\n * @export\n * @class ForecastCalculationServiceApi\n * @extends {BaseAPI}\n */\nexport class ForecastCalculationServiceApi extends BaseAPI {\n  /**\n   *\n   * @param {WfmCreateForecastCalculationRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ForecastCalculationServiceApi\n   */\n  public createForecastCalculation(\n    body: WfmCreateForecastCalculationRequest,\n    options?: any\n  ) {\n    return ForecastCalculationServiceApiFp(this.configuration)\n      .createForecastCalculation(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ForecastCalculationServiceApi\n   */\n  public deleteForecastCalculation(id: string, options?: any) {\n    return ForecastCalculationServiceApiFp(this.configuration)\n      .deleteForecastCalculation(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {string} [teamId]\n   * @param {string} [forecastDataFrom]\n   * @param {string} [forecastDataTo]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ForecastCalculationServiceApi\n   */\n  public executeForecastCalculation(\n    id: string,\n    teamId?: string,\n    forecastDataFrom?: string,\n    forecastDataTo?: string,\n    options?: any\n  ) {\n    return ForecastCalculationServiceApiFp(this.configuration)\n      .executeForecastCalculation(\n        id,\n        teamId,\n        forecastDataFrom,\n        forecastDataTo,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ForecastCalculationServiceApi\n   */\n  public readForecastCalculation(\n    id: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return ForecastCalculationServiceApiFp(this.configuration)\n      .readForecastCalculation(id, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} [q]\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ForecastCalculationServiceApi\n   */\n  public searchForecastCalculation(\n    q?: string,\n    page?: number,\n    size?: number,\n    sort?: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return ForecastCalculationServiceApiFp(this.configuration)\n      .searchForecastCalculation(q, page, size, sort, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} itemId\n   * @param {InlineObject7} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ForecastCalculationServiceApi\n   */\n  public updateForecastCalculation(\n    itemId: string,\n    body: InlineObject7,\n    options?: any\n  ) {\n    return ForecastCalculationServiceApiFp(this.configuration)\n      .updateForecastCalculation(itemId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { WebitelContactsAddContactsToGroupRequest } from '../api'\n// @ts-ignore\nimport { WebitelContactsContactList } from '../api'\n// @ts-ignore\nimport { WebitelContactsCreateGroupRequest } from '../api'\n// @ts-ignore\nimport { WebitelContactsGroup } from '../api'\n// @ts-ignore\nimport { WebitelContactsGroupList } from '../api'\n// @ts-ignore\nimport { WebitelContactsInputGroup } from '../api'\n// @ts-ignore\nimport { WebitelContactsLocateGroupResponse } from '../api'\n/**\n * GroupsApi - axios parameter creator\n * @export\n */\nexport const GroupsApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Attach contacts to multiple groups\n     * @param {WebitelContactsAddContactsToGroupRequest} body Request message for adding contacts to a group.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    addContactsToGroups: async (\n      body: WebitelContactsAddContactsToGroupRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling addContactsToGroups.'\n        )\n      }\n      const localVarPath = `/contacts/groups/contacts:attach`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Create a new group\n     * @param {WebitelContactsCreateGroupRequest} body Request message for creating a new group.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createGroup: async (\n      body: WebitelContactsCreateGroupRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createGroup.'\n        )\n      }\n      const localVarPath = `/contacts/groups`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Delete a group\n     * @param {string} id The unique ID of the group to delete.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteGroup: async (\n      id: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteGroup.'\n        )\n      }\n      const localVarPath = `/contacts/groups/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Retrieve a list of groups or search groups\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {Array<string>} [id] Filter by unique IDs.\n     * @param {string} [q] Search term: group name; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {string} [name] Filter by group name.\n     * @param {'GROUP_TYPE_UNSPECIFIED' | 'STATIC' | 'DYNAMIC'} [type] Filter by group type.   - GROUP_TYPE_UNSPECIFIED: Default value  - STATIC: Static group  - DYNAMIC: Dynamic group\n     * @param {boolean} [enabled] Filter by only enabled group\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listGroups: async (\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      id?: Array<string>,\n      q?: string,\n      name?: string,\n      type?: 'GROUP_TYPE_UNSPECIFIED' | 'STATIC' | 'DYNAMIC',\n      enabled?: boolean,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/contacts/groups`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (name !== undefined) {\n        localVarQueryParameter['name'] = name\n      }\n\n      if (type !== undefined) {\n        localVarQueryParameter['type'] = type\n      }\n\n      if (enabled !== undefined) {\n        localVarQueryParameter['enabled'] = enabled\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Locate a group by ID\n     * @param {string} id The unique ID of the group to locate.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateGroup: async (\n      id: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling locateGroup.'\n        )\n      }\n      const localVarPath = `/contacts/groups/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Remove contacts from a group\n     * @param {string} groupId The unique ID of the group.\n     * @param {Array<string>} [contactIds] List of contact IDs to remove from the group.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    removeContactsFromGroup: async (\n      groupId: string,\n      contactIds?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'groupId' is not null or undefined\n      if (groupId === null || groupId === undefined) {\n        throw new RequiredError(\n          'groupId',\n          'Required parameter groupId was null or undefined when calling removeContactsFromGroup.'\n        )\n      }\n      const localVarPath = `/contacts/groups/{group_id}/contact`.replace(\n        `{${'group_id'}}`,\n        encodeURIComponent(String(groupId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (contactIds) {\n        localVarQueryParameter['contact_ids'] = contactIds\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update an existing group\n     * @param {string} id The unique ID of the group to update.\n     * @param {WebitelContactsInputGroup} input\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateGroup: async (\n      id: string,\n      input: WebitelContactsInputGroup,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateGroup.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateGroup.'\n        )\n      }\n      const localVarPath = `/contacts/groups/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update an existing group\n     * @param {string} id The unique ID of the group to update.\n     * @param {WebitelContactsInputGroup} input\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateGroup2: async (\n      id: string,\n      input: WebitelContactsInputGroup,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateGroup2.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateGroup2.'\n        )\n      }\n      const localVarPath = `/contacts/groups/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * GroupsApi - functional programming interface\n * @export\n */\nexport const GroupsApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Attach contacts to multiple groups\n     * @param {WebitelContactsAddContactsToGroupRequest} body Request message for adding contacts to a group.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async addContactsToGroups(\n      body: WebitelContactsAddContactsToGroupRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsContactList>\n    > {\n      const localVarAxiosArgs = await GroupsApiAxiosParamCreator(\n        configuration\n      ).addContactsToGroups(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Create a new group\n     * @param {WebitelContactsCreateGroupRequest} body Request message for creating a new group.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createGroup(\n      body: WebitelContactsCreateGroupRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsGroup>\n    > {\n      const localVarAxiosArgs = await GroupsApiAxiosParamCreator(\n        configuration\n      ).createGroup(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Delete a group\n     * @param {string} id The unique ID of the group to delete.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteGroup(\n      id: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsGroup>\n    > {\n      const localVarAxiosArgs = await GroupsApiAxiosParamCreator(\n        configuration\n      ).deleteGroup(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Retrieve a list of groups or search groups\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {Array<string>} [id] Filter by unique IDs.\n     * @param {string} [q] Search term: group name; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {string} [name] Filter by group name.\n     * @param {'GROUP_TYPE_UNSPECIFIED' | 'STATIC' | 'DYNAMIC'} [type] Filter by group type.   - GROUP_TYPE_UNSPECIFIED: Default value  - STATIC: Static group  - DYNAMIC: Dynamic group\n     * @param {boolean} [enabled] Filter by only enabled group\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async listGroups(\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      id?: Array<string>,\n      q?: string,\n      name?: string,\n      type?: 'GROUP_TYPE_UNSPECIFIED' | 'STATIC' | 'DYNAMIC',\n      enabled?: boolean,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsGroupList>\n    > {\n      const localVarAxiosArgs = await GroupsApiAxiosParamCreator(\n        configuration\n      ).listGroups(\n        page,\n        size,\n        fields,\n        sort,\n        id,\n        q,\n        name,\n        type,\n        enabled,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Locate a group by ID\n     * @param {string} id The unique ID of the group to locate.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async locateGroup(\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsLocateGroupResponse>\n    > {\n      const localVarAxiosArgs = await GroupsApiAxiosParamCreator(\n        configuration\n      ).locateGroup(id, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Remove contacts from a group\n     * @param {string} groupId The unique ID of the group.\n     * @param {Array<string>} [contactIds] List of contact IDs to remove from the group.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async removeContactsFromGroup(\n      groupId: string,\n      contactIds?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsContactList>\n    > {\n      const localVarAxiosArgs = await GroupsApiAxiosParamCreator(\n        configuration\n      ).removeContactsFromGroup(groupId, contactIds, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update an existing group\n     * @param {string} id The unique ID of the group to update.\n     * @param {WebitelContactsInputGroup} input\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateGroup(\n      id: string,\n      input: WebitelContactsInputGroup,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsGroup>\n    > {\n      const localVarAxiosArgs = await GroupsApiAxiosParamCreator(\n        configuration\n      ).updateGroup(id, input, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update an existing group\n     * @param {string} id The unique ID of the group to update.\n     * @param {WebitelContactsInputGroup} input\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateGroup2(\n      id: string,\n      input: WebitelContactsInputGroup,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsGroup>\n    > {\n      const localVarAxiosArgs = await GroupsApiAxiosParamCreator(\n        configuration\n      ).updateGroup2(id, input, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * GroupsApi - factory interface\n * @export\n */\nexport const GroupsApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Attach contacts to multiple groups\n     * @param {WebitelContactsAddContactsToGroupRequest} body Request message for adding contacts to a group.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    addContactsToGroups(\n      body: WebitelContactsAddContactsToGroupRequest,\n      options?: any\n    ): AxiosPromise<WebitelContactsContactList> {\n      return GroupsApiFp(configuration)\n        .addContactsToGroups(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Create a new group\n     * @param {WebitelContactsCreateGroupRequest} body Request message for creating a new group.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createGroup(\n      body: WebitelContactsCreateGroupRequest,\n      options?: any\n    ): AxiosPromise<WebitelContactsGroup> {\n      return GroupsApiFp(configuration)\n        .createGroup(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Delete a group\n     * @param {string} id The unique ID of the group to delete.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteGroup(id: string, options?: any): AxiosPromise<WebitelContactsGroup> {\n      return GroupsApiFp(configuration)\n        .deleteGroup(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Retrieve a list of groups or search groups\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {Array<string>} [id] Filter by unique IDs.\n     * @param {string} [q] Search term: group name; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {string} [name] Filter by group name.\n     * @param {'GROUP_TYPE_UNSPECIFIED' | 'STATIC' | 'DYNAMIC'} [type] Filter by group type.   - GROUP_TYPE_UNSPECIFIED: Default value  - STATIC: Static group  - DYNAMIC: Dynamic group\n     * @param {boolean} [enabled] Filter by only enabled group\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listGroups(\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      id?: Array<string>,\n      q?: string,\n      name?: string,\n      type?: 'GROUP_TYPE_UNSPECIFIED' | 'STATIC' | 'DYNAMIC',\n      enabled?: boolean,\n      options?: any\n    ): AxiosPromise<WebitelContactsGroupList> {\n      return GroupsApiFp(configuration)\n        .listGroups(\n          page,\n          size,\n          fields,\n          sort,\n          id,\n          q,\n          name,\n          type,\n          enabled,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Locate a group by ID\n     * @param {string} id The unique ID of the group to locate.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateGroup(\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsLocateGroupResponse> {\n      return GroupsApiFp(configuration)\n        .locateGroup(id, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Remove contacts from a group\n     * @param {string} groupId The unique ID of the group.\n     * @param {Array<string>} [contactIds] List of contact IDs to remove from the group.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    removeContactsFromGroup(\n      groupId: string,\n      contactIds?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsContactList> {\n      return GroupsApiFp(configuration)\n        .removeContactsFromGroup(groupId, contactIds, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update an existing group\n     * @param {string} id The unique ID of the group to update.\n     * @param {WebitelContactsInputGroup} input\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateGroup(\n      id: string,\n      input: WebitelContactsInputGroup,\n      options?: any\n    ): AxiosPromise<WebitelContactsGroup> {\n      return GroupsApiFp(configuration)\n        .updateGroup(id, input, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update an existing group\n     * @param {string} id The unique ID of the group to update.\n     * @param {WebitelContactsInputGroup} input\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateGroup2(\n      id: string,\n      input: WebitelContactsInputGroup,\n      options?: any\n    ): AxiosPromise<WebitelContactsGroup> {\n      return GroupsApiFp(configuration)\n        .updateGroup2(id, input, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * GroupsApi - object-oriented interface\n * @export\n * @class GroupsApi\n * @extends {BaseAPI}\n */\nexport class GroupsApi extends BaseAPI {\n  /**\n   *\n   * @summary Attach contacts to multiple groups\n   * @param {WebitelContactsAddContactsToGroupRequest} body Request message for adding contacts to a group.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof GroupsApi\n   */\n  public addContactsToGroups(\n    body: WebitelContactsAddContactsToGroupRequest,\n    options?: any\n  ) {\n    return GroupsApiFp(this.configuration)\n      .addContactsToGroups(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Create a new group\n   * @param {WebitelContactsCreateGroupRequest} body Request message for creating a new group.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof GroupsApi\n   */\n  public createGroup(body: WebitelContactsCreateGroupRequest, options?: any) {\n    return GroupsApiFp(this.configuration)\n      .createGroup(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Delete a group\n   * @param {string} id The unique ID of the group to delete.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof GroupsApi\n   */\n  public deleteGroup(id: string, options?: any) {\n    return GroupsApiFp(this.configuration)\n      .deleteGroup(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Retrieve a list of groups or search groups\n   * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n   * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {Array<string>} [sort] Sort the result according to fields.\n   * @param {Array<string>} [id] Filter by unique IDs.\n   * @param {string} [q] Search term: group name; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n   * @param {string} [name] Filter by group name.\n   * @param {'GROUP_TYPE_UNSPECIFIED' | 'STATIC' | 'DYNAMIC'} [type] Filter by group type.   - GROUP_TYPE_UNSPECIFIED: Default value  - STATIC: Static group  - DYNAMIC: Dynamic group\n   * @param {boolean} [enabled] Filter by only enabled group\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof GroupsApi\n   */\n  public listGroups(\n    page?: number,\n    size?: number,\n    fields?: Array<string>,\n    sort?: Array<string>,\n    id?: Array<string>,\n    q?: string,\n    name?: string,\n    type?: 'GROUP_TYPE_UNSPECIFIED' | 'STATIC' | 'DYNAMIC',\n    enabled?: boolean,\n    options?: any\n  ) {\n    return GroupsApiFp(this.configuration)\n      .listGroups(page, size, fields, sort, id, q, name, type, enabled, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Locate a group by ID\n   * @param {string} id The unique ID of the group to locate.\n   * @param {Array<string>} [fields] Fields to be retrieved into result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof GroupsApi\n   */\n  public locateGroup(id: string, fields?: Array<string>, options?: any) {\n    return GroupsApiFp(this.configuration)\n      .locateGroup(id, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Remove contacts from a group\n   * @param {string} groupId The unique ID of the group.\n   * @param {Array<string>} [contactIds] List of contact IDs to remove from the group.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof GroupsApi\n   */\n  public removeContactsFromGroup(\n    groupId: string,\n    contactIds?: Array<string>,\n    options?: any\n  ) {\n    return GroupsApiFp(this.configuration)\n      .removeContactsFromGroup(groupId, contactIds, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update an existing group\n   * @param {string} id The unique ID of the group to update.\n   * @param {WebitelContactsInputGroup} input\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof GroupsApi\n   */\n  public updateGroup(\n    id: string,\n    input: WebitelContactsInputGroup,\n    options?: any\n  ) {\n    return GroupsApiFp(this.configuration)\n      .updateGroup(id, input, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update an existing group\n   * @param {string} id The unique ID of the group to update.\n   * @param {WebitelContactsInputGroup} input\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof GroupsApi\n   */\n  public updateGroup2(\n    id: string,\n    input: WebitelContactsInputGroup,\n    options?: any\n  ) {\n    return GroupsApiFp(this.configuration)\n      .updateGroup2(id, input, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { WebitelContactsIMClientList } from '../api'\n/**\n * IMClientsApi - axios parameter creator\n * @export\n */\nexport const IMClientsApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {string} contactId\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteIMClient: async (\n      contactId: string,\n      id: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling deleteIMClient.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteIMClient.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/imclients/{id}`\n        .replace(`{${'contact_id'}}`, encodeURIComponent(String(contactId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Search IM client links\n     * @param {string} contactId Link contact ID.\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {string} [q] Search term: IMClient. &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters Search fields: {user,app}\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {Array<string>} [id] Link(s) with unique ID only.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listIMClients: async (\n      contactId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling listIMClients.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/imclients`.replace(\n        `{${'contact_id'}}`,\n        encodeURIComponent(String(contactId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * IMClientsApi - functional programming interface\n * @export\n */\nexport const IMClientsApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @param {string} contactId\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteIMClient(\n      contactId: string,\n      id: string,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>\n    > {\n      const localVarAxiosArgs = await IMClientsApiAxiosParamCreator(\n        configuration\n      ).deleteIMClient(contactId, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Search IM client links\n     * @param {string} contactId Link contact ID.\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {string} [q] Search term: IMClient. &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters Search fields: {user,app}\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {Array<string>} [id] Link(s) with unique ID only.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async listIMClients(\n      contactId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsIMClientList>\n    > {\n      const localVarAxiosArgs = await IMClientsApiAxiosParamCreator(\n        configuration\n      ).listIMClients(contactId, page, size, q, sort, fields, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * IMClientsApi - factory interface\n * @export\n */\nexport const IMClientsApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {string} contactId\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteIMClient(\n      contactId: string,\n      id: string,\n      options?: any\n    ): AxiosPromise<object> {\n      return IMClientsApiFp(configuration)\n        .deleteIMClient(contactId, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Search IM client links\n     * @param {string} contactId Link contact ID.\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {string} [q] Search term: IMClient. &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters Search fields: {user,app}\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {Array<string>} [id] Link(s) with unique ID only.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listIMClients(\n      contactId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsIMClientList> {\n      return IMClientsApiFp(configuration)\n        .listIMClients(contactId, page, size, q, sort, fields, id, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * IMClientsApi - object-oriented interface\n * @export\n * @class IMClientsApi\n * @extends {BaseAPI}\n */\nexport class IMClientsApi extends BaseAPI {\n  /**\n   *\n   * @param {string} contactId\n   * @param {string} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof IMClientsApi\n   */\n  public deleteIMClient(contactId: string, id: string, options?: any) {\n    return IMClientsApiFp(this.configuration)\n      .deleteIMClient(contactId, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Search IM client links\n   * @param {string} contactId Link contact ID.\n   * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n   * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n   * @param {string} [q] Search term: IMClient. &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters Search fields: {user,app}\n   * @param {Array<string>} [sort] Sort the result according to fields.\n   * @param {Array<string>} [fields] Fields to be retrieved into result.\n   * @param {Array<string>} [id] Link(s) with unique ID only.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof IMClientsApi\n   */\n  public listIMClients(\n    contactId: string,\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: Array<string>,\n    fields?: Array<string>,\n    id?: Array<string>,\n    options?: any\n  ) {\n    return IMClientsApiFp(this.configuration)\n      .listIMClients(contactId, page, size, q, sort, fields, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { GrpcGatewayRuntimeError } from '../api'\n// @ts-ignore\nimport { StorageCreateImportTemplateRequest } from '../api'\n// @ts-ignore\nimport { StorageImportTemplate } from '../api'\n// @ts-ignore\nimport { StorageListImportTemplate } from '../api'\n// @ts-ignore\nimport { StoragePatchImportTemplateRequest } from '../api'\n// @ts-ignore\nimport { StorageUpdateImportTemplateRequest } from '../api'\n/**\n * ImportTemplateServiceApi - axios parameter creator\n * @export\n */\nexport const ImportTemplateServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {StorageCreateImportTemplateRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createImportTemplate: async (\n      body: StorageCreateImportTemplateRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createImportTemplate.'\n        )\n      }\n      const localVarPath = `/storage/import_templates`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteImportTemplate: async (\n      id: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteImportTemplate.'\n        )\n      }\n      const localVarPath = `/storage/import_templates/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {StoragePatchImportTemplateRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchImportTemplate: async (\n      id: number,\n      body: StoragePatchImportTemplateRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling patchImportTemplate.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling patchImportTemplate.'\n        )\n      }\n      const localVarPath = `/storage/import_templates/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readImportTemplate: async (\n      id: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readImportTemplate.'\n        )\n      }\n      const localVarPath = `/storage/import_templates/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchImportTemplate: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/storage/import_templates`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {StorageUpdateImportTemplateRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateImportTemplate: async (\n      id: number,\n      body: StorageUpdateImportTemplateRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateImportTemplate.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateImportTemplate.'\n        )\n      }\n      const localVarPath = `/storage/import_templates/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * ImportTemplateServiceApi - functional programming interface\n * @export\n */\nexport const ImportTemplateServiceApiFp = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {StorageCreateImportTemplateRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createImportTemplate(\n      body: StorageCreateImportTemplateRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<StorageImportTemplate>\n    > {\n      const localVarAxiosArgs = await ImportTemplateServiceApiAxiosParamCreator(\n        configuration\n      ).createImportTemplate(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteImportTemplate(\n      id: number,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<StorageImportTemplate>\n    > {\n      const localVarAxiosArgs = await ImportTemplateServiceApiAxiosParamCreator(\n        configuration\n      ).deleteImportTemplate(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {StoragePatchImportTemplateRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async patchImportTemplate(\n      id: number,\n      body: StoragePatchImportTemplateRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<StorageImportTemplate>\n    > {\n      const localVarAxiosArgs = await ImportTemplateServiceApiAxiosParamCreator(\n        configuration\n      ).patchImportTemplate(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readImportTemplate(\n      id: number,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<StorageImportTemplate>\n    > {\n      const localVarAxiosArgs = await ImportTemplateServiceApiAxiosParamCreator(\n        configuration\n      ).readImportTemplate(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchImportTemplate(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<StorageListImportTemplate>\n    > {\n      const localVarAxiosArgs = await ImportTemplateServiceApiAxiosParamCreator(\n        configuration\n      ).searchImportTemplate(page, size, q, sort, fields, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {StorageUpdateImportTemplateRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateImportTemplate(\n      id: number,\n      body: StorageUpdateImportTemplateRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<StorageImportTemplate>\n    > {\n      const localVarAxiosArgs = await ImportTemplateServiceApiAxiosParamCreator(\n        configuration\n      ).updateImportTemplate(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * ImportTemplateServiceApi - factory interface\n * @export\n */\nexport const ImportTemplateServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {StorageCreateImportTemplateRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createImportTemplate(\n      body: StorageCreateImportTemplateRequest,\n      options?: any\n    ): AxiosPromise<StorageImportTemplate> {\n      return ImportTemplateServiceApiFp(configuration)\n        .createImportTemplate(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteImportTemplate(\n      id: number,\n      options?: any\n    ): AxiosPromise<StorageImportTemplate> {\n      return ImportTemplateServiceApiFp(configuration)\n        .deleteImportTemplate(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {StoragePatchImportTemplateRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchImportTemplate(\n      id: number,\n      body: StoragePatchImportTemplateRequest,\n      options?: any\n    ): AxiosPromise<StorageImportTemplate> {\n      return ImportTemplateServiceApiFp(configuration)\n        .patchImportTemplate(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readImportTemplate(\n      id: number,\n      options?: any\n    ): AxiosPromise<StorageImportTemplate> {\n      return ImportTemplateServiceApiFp(configuration)\n        .readImportTemplate(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchImportTemplate(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options?: any\n    ): AxiosPromise<StorageListImportTemplate> {\n      return ImportTemplateServiceApiFp(configuration)\n        .searchImportTemplate(page, size, q, sort, fields, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {StorageUpdateImportTemplateRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateImportTemplate(\n      id: number,\n      body: StorageUpdateImportTemplateRequest,\n      options?: any\n    ): AxiosPromise<StorageImportTemplate> {\n      return ImportTemplateServiceApiFp(configuration)\n        .updateImportTemplate(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * ImportTemplateServiceApi - object-oriented interface\n * @export\n * @class ImportTemplateServiceApi\n * @extends {BaseAPI}\n */\nexport class ImportTemplateServiceApi extends BaseAPI {\n  /**\n   *\n   * @param {StorageCreateImportTemplateRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ImportTemplateServiceApi\n   */\n  public createImportTemplate(\n    body: StorageCreateImportTemplateRequest,\n    options?: any\n  ) {\n    return ImportTemplateServiceApiFp(this.configuration)\n      .createImportTemplate(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ImportTemplateServiceApi\n   */\n  public deleteImportTemplate(id: number, options?: any) {\n    return ImportTemplateServiceApiFp(this.configuration)\n      .deleteImportTemplate(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} id\n   * @param {StoragePatchImportTemplateRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ImportTemplateServiceApi\n   */\n  public patchImportTemplate(\n    id: number,\n    body: StoragePatchImportTemplateRequest,\n    options?: any\n  ) {\n    return ImportTemplateServiceApiFp(this.configuration)\n      .patchImportTemplate(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ImportTemplateServiceApi\n   */\n  public readImportTemplate(id: number, options?: any) {\n    return ImportTemplateServiceApiFp(this.configuration)\n      .readImportTemplate(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<number>} [id]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ImportTemplateServiceApi\n   */\n  public searchImportTemplate(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<number>,\n    options?: any\n  ) {\n    return ImportTemplateServiceApiFp(this.configuration)\n      .searchImportTemplate(page, size, q, sort, fields, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} id\n   * @param {StorageUpdateImportTemplateRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ImportTemplateServiceApi\n   */\n  public updateImportTemplate(\n    id: number,\n    body: StorageUpdateImportTemplateRequest,\n    options?: any\n  ) {\n    return ImportTemplateServiceApiFp(this.configuration)\n      .updateImportTemplate(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { WebitelKnowledgebaseCombinedList } from '../api'\n/**\n * KnowledgebaseSearchApi - axios parameter creator\n * @export\n */\nexport const KnowledgebaseSearchApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {string} [q] Search term: location name; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {boolean} [state] Active Article only.\n     * @param {Array<string>} [tags] Tags associated with the article.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    spacesArticlesSearch: async (\n      size?: number,\n      page?: number,\n      sort?: Array<string>,\n      q?: string,\n      state?: boolean,\n      tags?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/spaces/search`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (state !== undefined) {\n        localVarQueryParameter['state'] = state\n      }\n\n      if (tags) {\n        localVarQueryParameter['tags'] = tags\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * KnowledgebaseSearchApi - functional programming interface\n * @export\n */\nexport const KnowledgebaseSearchApiFp = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {string} [q] Search term: location name; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {boolean} [state] Active Article only.\n     * @param {Array<string>} [tags] Tags associated with the article.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async spacesArticlesSearch(\n      size?: number,\n      page?: number,\n      sort?: Array<string>,\n      q?: string,\n      state?: boolean,\n      tags?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelKnowledgebaseCombinedList>\n    > {\n      const localVarAxiosArgs = await KnowledgebaseSearchApiAxiosParamCreator(\n        configuration\n      ).spacesArticlesSearch(size, page, sort, q, state, tags, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * KnowledgebaseSearchApi - factory interface\n * @export\n */\nexport const KnowledgebaseSearchApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {string} [q] Search term: location name; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {boolean} [state] Active Article only.\n     * @param {Array<string>} [tags] Tags associated with the article.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    spacesArticlesSearch(\n      size?: number,\n      page?: number,\n      sort?: Array<string>,\n      q?: string,\n      state?: boolean,\n      tags?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelKnowledgebaseCombinedList> {\n      return KnowledgebaseSearchApiFp(configuration)\n        .spacesArticlesSearch(size, page, sort, q, state, tags, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * KnowledgebaseSearchApi - object-oriented interface\n * @export\n * @class KnowledgebaseSearchApi\n * @extends {BaseAPI}\n */\nexport class KnowledgebaseSearchApi extends BaseAPI {\n  /**\n   *\n   * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n   * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n   * @param {Array<string>} [sort] Sort the result according to fields.\n   * @param {string} [q] Search term: location name; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n   * @param {boolean} [state] Active Article only.\n   * @param {Array<string>} [tags] Tags associated with the article.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof KnowledgebaseSearchApi\n   */\n  public spacesArticlesSearch(\n    size?: number,\n    page?: number,\n    sort?: Array<string>,\n    q?: string,\n    state?: boolean,\n    tags?: Array<string>,\n    options?: any\n  ) {\n    return KnowledgebaseSearchApiFp(this.configuration)\n      .spacesArticlesSearch(size, page, sort, q, state, tags, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { ApiDeleteLDAPRequest } from '../api'\n// @ts-ignore\nimport { ApiLDAPCatalog } from '../api'\n// @ts-ignore\nimport { ApiLDAPCreateLDAPTemplateBody } from '../api'\n// @ts-ignore\nimport { ApiLDAPDeleteLDAPTemplateBody } from '../api'\n// @ts-ignore\nimport { ApiLDAPLDAPSearchBody } from '../api'\n// @ts-ignore\nimport { ApiLDAPResyncLDAPCatalogBody } from '../api'\n// @ts-ignore\nimport { ApiLDAPSearchRequest } from '../api'\n// @ts-ignore\nimport { ApiLDAPSearchResponse } from '../api'\n// @ts-ignore\nimport { ApiLDAPTemplate } from '../api'\n// @ts-ignore\nimport { ApiLDAPTemplateResponse } from '../api'\n// @ts-ignore\nimport { ApiLDAPUpdateLDAPCatalogBody } from '../api'\n// @ts-ignore\nimport { ApiLDAPUpdateLDAPTemplateBody } from '../api'\n// @ts-ignore\nimport { ApiLDAProcess } from '../api'\n// @ts-ignore\nimport { ApiLDAProcessResponse } from '../api'\n// @ts-ignore\nimport { ApiSearchLDAPResponse } from '../api'\n/**\n * LDAPApi - axios parameter creator\n * @export\n */\nexport const LDAPApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create LDAP profile\n     * @param {ApiLDAPCatalog} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createLDAPCatalog: async (\n      body: ApiLDAPCatalog,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createLDAPCatalog.'\n        )\n      }\n      const localVarPath = `/ldap`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} catalogId identifier\n     * @param {ApiLDAPCreateLDAPTemplateBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createLDAPTemplate: async (\n      catalogId: string,\n      body: ApiLDAPCreateLDAPTemplateBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'catalogId' is not null or undefined\n      if (catalogId === null || catalogId === undefined) {\n        throw new RequiredError(\n          'catalogId',\n          'Required parameter catalogId was null or undefined when calling createLDAPTemplate.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createLDAPTemplate.'\n        )\n      }\n      const localVarPath = `/ldap/{catalog.id}/templates`.replace(\n        `{${'catalog.id'}}`,\n        encodeURIComponent(String(catalogId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Delete LDAP profile(s) ...\n     * @param {string} id catalog id\n     * @param {boolean} [relatedObjects] WITH objects bound to ?\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteLDAPCatalog: async (\n      id: string,\n      relatedObjects?: boolean,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteLDAPCatalog.'\n        )\n      }\n      const localVarPath = `/ldap/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (relatedObjects !== undefined) {\n        localVarQueryParameter['related_objects'] = relatedObjects\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Delete LDAP profile(s) ...\n     * @param {ApiDeleteLDAPRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteLDAPCatalog2: async (\n      body: ApiDeleteLDAPRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling deleteLDAPCatalog2.'\n        )\n      }\n      const localVarPath = `/ldap`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} catalogId REQUIRED. Parent LDAP catalog IDentifier\n     * @param {Array<string>} id ----- Search Basic Filters --------------------------- OPTIONAL. Search templates by .id\n     * @param {ApiLDAPDeleteLDAPTemplateBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteLDAPTemplate: async (\n      catalogId: string,\n      id: Array<string>,\n      body: ApiLDAPDeleteLDAPTemplateBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'catalogId' is not null or undefined\n      if (catalogId === null || catalogId === undefined) {\n        throw new RequiredError(\n          'catalogId',\n          'Required parameter catalogId was null or undefined when calling deleteLDAPTemplate.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteLDAPTemplate.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling deleteLDAPTemplate.'\n        )\n      }\n      const localVarPath = `/ldap/{catalog_id}/templates/{id}`\n        .replace(`{${'catalog_id'}}`, encodeURIComponent(String(catalogId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} catalogId REQUIRED. Parent LDAP catalog IDentifier\n     * @param {ApiLDAPDeleteLDAPTemplateBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteLDAPTemplate2: async (\n      catalogId: string,\n      body: ApiLDAPDeleteLDAPTemplateBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'catalogId' is not null or undefined\n      if (catalogId === null || catalogId === undefined) {\n        throw new RequiredError(\n          'catalogId',\n          'Required parameter catalogId was null or undefined when calling deleteLDAPTemplate2.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling deleteLDAPTemplate2.'\n        )\n      }\n      const localVarPath = `/ldap/{catalog_id}/templates`.replace(\n        `{${'catalog_id'}}`,\n        encodeURIComponent(String(catalogId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary LDAPSearch performs LDAP Search operation ...\n     * @param {string} catalogId ----- connection ----- Optional. ID of the preconfigured LDAP catalog\n     * @param {ApiLDAPLDAPSearchBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    lDAPSearch: async (\n      catalogId: string,\n      body: ApiLDAPLDAPSearchBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'catalogId' is not null or undefined\n      if (catalogId === null || catalogId === undefined) {\n        throw new RequiredError(\n          'catalogId',\n          'Required parameter catalogId was null or undefined when calling lDAPSearch.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling lDAPSearch.'\n        )\n      }\n      const localVarPath = `/ldap/{catalog_id}/search`.replace(\n        `{${'catalog_id'}}`,\n        encodeURIComponent(String(catalogId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary LDAPSearch performs LDAP Search operation ...\n     * @param {string} catalogId ----- connection ----- Optional. ID of the preconfigured LDAP catalog\n     * @param {string} [url] Optional. URL to establish connection to LDAP catalog  URL e.g.: [(ldap|ldapi|ldaps)://]host[:port]\n     * @param {string} [tlsPEM] TODO: (!)  base64\n     * @param {string} [bind] ----- BIND: Authorization -----  authorization method e.g.: SIMPLE, SAML, NTLM, etc.\n     * @param {string} [username] bind_dn\n     * @param {string} [password] password\n     * @param {string} [baseObject] ----- SearchRequest ----- baseObject [D]istinguished[N]ame\n     * @param {number} [scope] baseObject              (0), singleLevel             (1), wholeSubtree            (2)\n     * @param {number} [derefAliases] neverDerefAliases       (0), derefInSearching        (1), derefFindingBaseObj     (2), derefAlways             (3)\n     * @param {string} [sizeLimit] INTEGER (0 ..  maxInt),\n     * @param {string} [timeLimit] INTEGER (0 ..  maxInt),\n     * @param {boolean} [typesOnly] BOOLEAN,\n     * @param {string} [filter] Filter,\n     * @param {Array<string>} [attributes] AttributeSelection\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    lDAPSearch2: async (\n      catalogId: string,\n      url?: string,\n      tlsPEM?: string,\n      bind?: string,\n      username?: string,\n      password?: string,\n      baseObject?: string,\n      scope?: number,\n      derefAliases?: number,\n      sizeLimit?: string,\n      timeLimit?: string,\n      typesOnly?: boolean,\n      filter?: string,\n      attributes?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'catalogId' is not null or undefined\n      if (catalogId === null || catalogId === undefined) {\n        throw new RequiredError(\n          'catalogId',\n          'Required parameter catalogId was null or undefined when calling lDAPSearch2.'\n        )\n      }\n      const localVarPath = `/ldap/{catalog_id}/search`.replace(\n        `{${'catalog_id'}}`,\n        encodeURIComponent(String(catalogId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (url !== undefined) {\n        localVarQueryParameter['url'] = url\n      }\n\n      if (tlsPEM !== undefined) {\n        localVarQueryParameter['tls.PEM'] = tlsPEM\n      }\n\n      if (bind !== undefined) {\n        localVarQueryParameter['bind'] = bind\n      }\n\n      if (username !== undefined) {\n        localVarQueryParameter['username'] = username\n      }\n\n      if (password !== undefined) {\n        localVarQueryParameter['password'] = password\n      }\n\n      if (baseObject !== undefined) {\n        localVarQueryParameter['baseObject'] = baseObject\n      }\n\n      if (scope !== undefined) {\n        localVarQueryParameter['scope'] = scope\n      }\n\n      if (derefAliases !== undefined) {\n        localVarQueryParameter['derefAliases'] = derefAliases\n      }\n\n      if (sizeLimit !== undefined) {\n        localVarQueryParameter['sizeLimit'] = sizeLimit\n      }\n\n      if (timeLimit !== undefined) {\n        localVarQueryParameter['timeLimit'] = timeLimit\n      }\n\n      if (typesOnly !== undefined) {\n        localVarQueryParameter['typesOnly'] = typesOnly\n      }\n\n      if (filter !== undefined) {\n        localVarQueryParameter['filter'] = filter\n      }\n\n      if (attributes) {\n        localVarQueryParameter['attributes'] = attributes\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary LDAPSearch performs LDAP Search operation ...\n     * @param {ApiLDAPSearchRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    lDAPSearch3: async (\n      body: ApiLDAPSearchRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling lDAPSearch3.'\n        )\n      }\n      const localVarPath = `/ldap/search`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary LDAPSearch performs LDAP Search operation ...\n     * @param {string} [catalogId] ----- connection ----- Optional. ID of the preconfigured LDAP catalog\n     * @param {string} [url] Optional. URL to establish connection to LDAP catalog  URL e.g.: [(ldap|ldapi|ldaps)://]host[:port]\n     * @param {string} [tlsPEM] TODO: (!)  base64\n     * @param {string} [bind] ----- BIND: Authorization -----  authorization method e.g.: SIMPLE, SAML, NTLM, etc.\n     * @param {string} [username] bind_dn\n     * @param {string} [password] password\n     * @param {string} [baseObject] ----- SearchRequest ----- baseObject [D]istinguished[N]ame\n     * @param {number} [scope] baseObject              (0), singleLevel             (1), wholeSubtree            (2)\n     * @param {number} [derefAliases] neverDerefAliases       (0), derefInSearching        (1), derefFindingBaseObj     (2), derefAlways             (3)\n     * @param {string} [sizeLimit] INTEGER (0 ..  maxInt),\n     * @param {string} [timeLimit] INTEGER (0 ..  maxInt),\n     * @param {boolean} [typesOnly] BOOLEAN,\n     * @param {string} [filter] Filter,\n     * @param {Array<string>} [attributes] AttributeSelection\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    lDAPSearch4: async (\n      catalogId?: string,\n      url?: string,\n      tlsPEM?: string,\n      bind?: string,\n      username?: string,\n      password?: string,\n      baseObject?: string,\n      scope?: number,\n      derefAliases?: number,\n      sizeLimit?: string,\n      timeLimit?: string,\n      typesOnly?: boolean,\n      filter?: string,\n      attributes?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/ldap/search`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (catalogId !== undefined) {\n        localVarQueryParameter['catalog_id'] = catalogId\n      }\n\n      if (url !== undefined) {\n        localVarQueryParameter['url'] = url\n      }\n\n      if (tlsPEM !== undefined) {\n        localVarQueryParameter['tls.PEM'] = tlsPEM\n      }\n\n      if (bind !== undefined) {\n        localVarQueryParameter['bind'] = bind\n      }\n\n      if (username !== undefined) {\n        localVarQueryParameter['username'] = username\n      }\n\n      if (password !== undefined) {\n        localVarQueryParameter['password'] = password\n      }\n\n      if (baseObject !== undefined) {\n        localVarQueryParameter['baseObject'] = baseObject\n      }\n\n      if (scope !== undefined) {\n        localVarQueryParameter['scope'] = scope\n      }\n\n      if (derefAliases !== undefined) {\n        localVarQueryParameter['derefAliases'] = derefAliases\n      }\n\n      if (sizeLimit !== undefined) {\n        localVarQueryParameter['sizeLimit'] = sizeLimit\n      }\n\n      if (timeLimit !== undefined) {\n        localVarQueryParameter['timeLimit'] = timeLimit\n      }\n\n      if (typesOnly !== undefined) {\n        localVarQueryParameter['typesOnly'] = typesOnly\n      }\n\n      if (filter !== undefined) {\n        localVarQueryParameter['filter'] = filter\n      }\n\n      if (attributes) {\n        localVarQueryParameter['attributes'] = attributes\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Read LDAP catalog profile by .id\n     * @param {Array<string>} id ----- Search Basic Filters ---------------------------  selection: by unique identifier\n     * @param {number} [page] ----- Select Options -------------------------  default: 1\n     * @param {number} [size] default: 16\n     * @param {Array<string>} [fields] attributes list\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {string} [q] term-of-search: lookup[name]\n     * @param {string} [name] case-ignore substring match: ILIKE \\&#39;*\\&#39; - any; \\&#39;?\\&#39; - one\n     * @param {string} [access] [M]andatory[A]ccess[C]ontrol: with access mode (action) granted!\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateLDAPCatalog: async (\n      id: Array<string>,\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      q?: string,\n      name?: string,\n      access?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling locateLDAPCatalog.'\n        )\n      }\n      const localVarPath = `/ldap/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (name !== undefined) {\n        localVarQueryParameter['name'] = name\n      }\n\n      if (access !== undefined) {\n        localVarQueryParameter['access'] = access\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} catalogId REQUIRED. Parent LDAP catalog IDentifier\n     * @param {Array<string>} id ----- Search Basic Filters --------------------------- OPTIONAL. Search templates by .id\n     * @param {number} [page] ----- Select Options -------------------------  default: 1\n     * @param {number} [size] default: 16\n     * @param {Array<string>} [fields] attributes list\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {string} [q] OPTIONAL. Filter(s) SET\n     * @param {string} [name]\n     * @param {string} [baseDn]\n     * @param {string} [objclass]\n     * @param {boolean} [enabled]\n     * @param {boolean} [disabled]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateLDAPTemplate: async (\n      catalogId: string,\n      id: Array<string>,\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      q?: string,\n      name?: string,\n      baseDn?: string,\n      objclass?: string,\n      enabled?: boolean,\n      disabled?: boolean,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'catalogId' is not null or undefined\n      if (catalogId === null || catalogId === undefined) {\n        throw new RequiredError(\n          'catalogId',\n          'Required parameter catalogId was null or undefined when calling locateLDAPTemplate.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling locateLDAPTemplate.'\n        )\n      }\n      const localVarPath = `/ldap/{catalog_id}/templates/{id}`\n        .replace(`{${'catalog_id'}}`, encodeURIComponent(String(catalogId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (name !== undefined) {\n        localVarQueryParameter['name'] = name\n      }\n\n      if (baseDn !== undefined) {\n        localVarQueryParameter['base_dn'] = baseDn\n      }\n\n      if (objclass !== undefined) {\n        localVarQueryParameter['objclass'] = objclass\n      }\n\n      if (enabled !== undefined) {\n        localVarQueryParameter['enabled'] = enabled\n      }\n\n      if (disabled !== undefined) {\n        localVarQueryParameter['disabled'] = disabled\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary (ResyncLDAPResponse) {\n     * @param {string} catalogId REQUIRED. Parent LDAP catalog IDentifier\n     * @param {Array<string>} id ----- Search Basic Filters --------------------------- OPTIONAL. Search process by unique .id\n     * @param {number} [page] ----- Select Options -------------------------  default: 1\n     * @param {number} [size] default: 16\n     * @param {Array<string>} [fields] attributes list\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {string} [q] OPTIONAL. Filter(s) SET\n     * @param {string} [template]\n     * @param {Array<string>} [objclass]\n     * @param {boolean} [failed] WITH .errs\n     * @param {boolean} [enabled] created|updated\n     * @param {boolean} [disabled] deleted\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateLDAProcess: async (\n      catalogId: string,\n      id: Array<string>,\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      q?: string,\n      template?: string,\n      objclass?: Array<string>,\n      failed?: boolean,\n      enabled?: boolean,\n      disabled?: boolean,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'catalogId' is not null or undefined\n      if (catalogId === null || catalogId === undefined) {\n        throw new RequiredError(\n          'catalogId',\n          'Required parameter catalogId was null or undefined when calling locateLDAProcess.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling locateLDAProcess.'\n        )\n      }\n      const localVarPath = `/ldap/{catalog_id}/rsync/{id}`\n        .replace(`{${'catalog_id'}}`, encodeURIComponent(String(catalogId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (template !== undefined) {\n        localVarQueryParameter['template'] = template\n      }\n\n      if (objclass) {\n        localVarQueryParameter['objclass'] = objclass\n      }\n\n      if (failed !== undefined) {\n        localVarQueryParameter['failed'] = failed\n      }\n\n      if (enabled !== undefined) {\n        localVarQueryParameter['enabled'] = enabled\n      }\n\n      if (disabled !== undefined) {\n        localVarQueryParameter['disabled'] = disabled\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     * (ResyncLDAPResponse) {\n     * @summary Resync LDAP directory catalog changes ...\n     * @param {string} catalogId LDAP Catalog unique IDentifier to sync with  catalog_id\n     * @param {ApiLDAPResyncLDAPCatalogBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    resyncLDAPCatalog: async (\n      catalogId: string,\n      body: ApiLDAPResyncLDAPCatalogBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'catalogId' is not null or undefined\n      if (catalogId === null || catalogId === undefined) {\n        throw new RequiredError(\n          'catalogId',\n          'Required parameter catalogId was null or undefined when calling resyncLDAPCatalog.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling resyncLDAPCatalog.'\n        )\n      }\n      const localVarPath = `/ldap/{catalog_id}/rsync`.replace(\n        `{${'catalog_id'}}`,\n        encodeURIComponent(String(catalogId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Search for LDAP directories ...\n     * @param {number} [page] ----- Select Options -------------------------  default: 1\n     * @param {number} [size] default: 16\n     * @param {Array<string>} [fields] attributes list\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {Array<string>} [id] ----- Search Basic Filters ---------------------------  selection: by unique identifier\n     * @param {string} [q] term-of-search: lookup[name]\n     * @param {string} [name] case-ignore substring match: ILIKE \\&#39;*\\&#39; - any; \\&#39;?\\&#39; - one\n     * @param {string} [access] [M]andatory[A]ccess[C]ontrol: with access mode (action) granted!\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchLDAPCatalog: async (\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      id?: Array<string>,\n      q?: string,\n      name?: string,\n      access?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/ldap`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (name !== undefined) {\n        localVarQueryParameter['name'] = name\n      }\n\n      if (access !== undefined) {\n        localVarQueryParameter['access'] = access\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} catalogId REQUIRED. Parent LDAP catalog IDentifier\n     * @param {number} [page] ----- Select Options -------------------------  default: 1\n     * @param {number} [size] default: 16\n     * @param {Array<string>} [fields] attributes list\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {Array<string>} [id] ----- Search Basic Filters --------------------------- OPTIONAL. Search templates by .id\n     * @param {string} [q] OPTIONAL. Filter(s) SET\n     * @param {string} [name]\n     * @param {string} [baseDn]\n     * @param {string} [objclass]\n     * @param {boolean} [enabled]\n     * @param {boolean} [disabled]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchLDAPTemplate: async (\n      catalogId: string,\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      id?: Array<string>,\n      q?: string,\n      name?: string,\n      baseDn?: string,\n      objclass?: string,\n      enabled?: boolean,\n      disabled?: boolean,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'catalogId' is not null or undefined\n      if (catalogId === null || catalogId === undefined) {\n        throw new RequiredError(\n          'catalogId',\n          'Required parameter catalogId was null or undefined when calling searchLDAPTemplate.'\n        )\n      }\n      const localVarPath = `/ldap/{catalog_id}/templates`.replace(\n        `{${'catalog_id'}}`,\n        encodeURIComponent(String(catalogId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (name !== undefined) {\n        localVarQueryParameter['name'] = name\n      }\n\n      if (baseDn !== undefined) {\n        localVarQueryParameter['base_dn'] = baseDn\n      }\n\n      if (objclass !== undefined) {\n        localVarQueryParameter['objclass'] = objclass\n      }\n\n      if (enabled !== undefined) {\n        localVarQueryParameter['enabled'] = enabled\n      }\n\n      if (disabled !== undefined) {\n        localVarQueryParameter['disabled'] = disabled\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary (ResyncLDAPResponse) {\n     * @param {string} catalogId REQUIRED. Parent LDAP catalog IDentifier\n     * @param {number} [page] ----- Select Options -------------------------  default: 1\n     * @param {number} [size] default: 16\n     * @param {Array<string>} [fields] attributes list\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {Array<string>} [id] ----- Search Basic Filters --------------------------- OPTIONAL. Search process by unique .id\n     * @param {string} [q] OPTIONAL. Filter(s) SET\n     * @param {string} [template]\n     * @param {Array<string>} [objclass]\n     * @param {boolean} [failed] WITH .errs\n     * @param {boolean} [enabled] created|updated\n     * @param {boolean} [disabled] deleted\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchLDAProcess: async (\n      catalogId: string,\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      id?: Array<string>,\n      q?: string,\n      template?: string,\n      objclass?: Array<string>,\n      failed?: boolean,\n      enabled?: boolean,\n      disabled?: boolean,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'catalogId' is not null or undefined\n      if (catalogId === null || catalogId === undefined) {\n        throw new RequiredError(\n          'catalogId',\n          'Required parameter catalogId was null or undefined when calling searchLDAProcess.'\n        )\n      }\n      const localVarPath = `/ldap/{catalog_id}/rsync`.replace(\n        `{${'catalog_id'}}`,\n        encodeURIComponent(String(catalogId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (template !== undefined) {\n        localVarQueryParameter['template'] = template\n      }\n\n      if (objclass) {\n        localVarQueryParameter['objclass'] = objclass\n      }\n\n      if (failed !== undefined) {\n        localVarQueryParameter['failed'] = failed\n      }\n\n      if (enabled !== undefined) {\n        localVarQueryParameter['enabled'] = enabled\n      }\n\n      if (disabled !== undefined) {\n        localVarQueryParameter['disabled'] = disabled\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update LDAP profile details\n     * @param {string} catalogId identity int64 dc &#x3D; 1;\n     * @param {ApiLDAPUpdateLDAPCatalogBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateLDAPCatalog: async (\n      catalogId: string,\n      body: ApiLDAPUpdateLDAPCatalogBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'catalogId' is not null or undefined\n      if (catalogId === null || catalogId === undefined) {\n        throw new RequiredError(\n          'catalogId',\n          'Required parameter catalogId was null or undefined when calling updateLDAPCatalog.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateLDAPCatalog.'\n        )\n      }\n      const localVarPath = `/ldap/{catalog.id}`.replace(\n        `{${'catalog.id'}}`,\n        encodeURIComponent(String(catalogId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update LDAP profile details\n     * @param {string} catalogId identity int64 dc &#x3D; 1;\n     * @param {ApiLDAPUpdateLDAPCatalogBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateLDAPCatalog2: async (\n      catalogId: string,\n      body: ApiLDAPUpdateLDAPCatalogBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'catalogId' is not null or undefined\n      if (catalogId === null || catalogId === undefined) {\n        throw new RequiredError(\n          'catalogId',\n          'Required parameter catalogId was null or undefined when calling updateLDAPCatalog2.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateLDAPCatalog2.'\n        )\n      }\n      const localVarPath = `/ldap/{catalog.id}`.replace(\n        `{${'catalog.id'}}`,\n        encodeURIComponent(String(catalogId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} templateCatalogId identifier\n     * @param {string} templateId ID unique\n     * @param {ApiLDAPUpdateLDAPTemplateBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateLDAPTemplate: async (\n      templateCatalogId: string,\n      templateId: string,\n      body: ApiLDAPUpdateLDAPTemplateBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'templateCatalogId' is not null or undefined\n      if (templateCatalogId === null || templateCatalogId === undefined) {\n        throw new RequiredError(\n          'templateCatalogId',\n          'Required parameter templateCatalogId was null or undefined when calling updateLDAPTemplate.'\n        )\n      }\n      // verify required parameter 'templateId' is not null or undefined\n      if (templateId === null || templateId === undefined) {\n        throw new RequiredError(\n          'templateId',\n          'Required parameter templateId was null or undefined when calling updateLDAPTemplate.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateLDAPTemplate.'\n        )\n      }\n      const localVarPath = `/ldap/{template.catalog.id}/templates/{template.id}`\n        .replace(\n          `{${'template.catalog.id'}}`,\n          encodeURIComponent(String(templateCatalogId))\n        )\n        .replace(`{${'template.id'}}`, encodeURIComponent(String(templateId)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} templateCatalogId identifier\n     * @param {string} templateId ID unique\n     * @param {ApiLDAPUpdateLDAPTemplateBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateLDAPTemplate2: async (\n      templateCatalogId: string,\n      templateId: string,\n      body: ApiLDAPUpdateLDAPTemplateBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'templateCatalogId' is not null or undefined\n      if (templateCatalogId === null || templateCatalogId === undefined) {\n        throw new RequiredError(\n          'templateCatalogId',\n          'Required parameter templateCatalogId was null or undefined when calling updateLDAPTemplate2.'\n        )\n      }\n      // verify required parameter 'templateId' is not null or undefined\n      if (templateId === null || templateId === undefined) {\n        throw new RequiredError(\n          'templateId',\n          'Required parameter templateId was null or undefined when calling updateLDAPTemplate2.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateLDAPTemplate2.'\n        )\n      }\n      const localVarPath = `/ldap/{template.catalog.id}/templates/{template.id}`\n        .replace(\n          `{${'template.catalog.id'}}`,\n          encodeURIComponent(String(templateCatalogId))\n        )\n        .replace(`{${'template.id'}}`, encodeURIComponent(String(templateId)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * LDAPApi - functional programming interface\n * @export\n */\nexport const LDAPApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Create LDAP profile\n     * @param {ApiLDAPCatalog} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createLDAPCatalog(\n      body: ApiLDAPCatalog,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiLDAPCatalog>\n    > {\n      const localVarAxiosArgs = await LDAPApiAxiosParamCreator(\n        configuration\n      ).createLDAPCatalog(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} catalogId identifier\n     * @param {ApiLDAPCreateLDAPTemplateBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createLDAPTemplate(\n      catalogId: string,\n      body: ApiLDAPCreateLDAPTemplateBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiLDAPTemplate>\n    > {\n      const localVarAxiosArgs = await LDAPApiAxiosParamCreator(\n        configuration\n      ).createLDAPTemplate(catalogId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Delete LDAP profile(s) ...\n     * @param {string} id catalog id\n     * @param {boolean} [relatedObjects] WITH objects bound to ?\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteLDAPCatalog(\n      id: string,\n      relatedObjects?: boolean,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiLDAPCatalog>\n    > {\n      const localVarAxiosArgs = await LDAPApiAxiosParamCreator(\n        configuration\n      ).deleteLDAPCatalog(id, relatedObjects, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Delete LDAP profile(s) ...\n     * @param {ApiDeleteLDAPRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteLDAPCatalog2(\n      body: ApiDeleteLDAPRequest,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiLDAPCatalog>\n    > {\n      const localVarAxiosArgs = await LDAPApiAxiosParamCreator(\n        configuration\n      ).deleteLDAPCatalog2(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} catalogId REQUIRED. Parent LDAP catalog IDentifier\n     * @param {Array<string>} id ----- Search Basic Filters --------------------------- OPTIONAL. Search templates by .id\n     * @param {ApiLDAPDeleteLDAPTemplateBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteLDAPTemplate(\n      catalogId: string,\n      id: Array<string>,\n      body: ApiLDAPDeleteLDAPTemplateBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiLDAPTemplateResponse>\n    > {\n      const localVarAxiosArgs = await LDAPApiAxiosParamCreator(\n        configuration\n      ).deleteLDAPTemplate(catalogId, id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} catalogId REQUIRED. Parent LDAP catalog IDentifier\n     * @param {ApiLDAPDeleteLDAPTemplateBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteLDAPTemplate2(\n      catalogId: string,\n      body: ApiLDAPDeleteLDAPTemplateBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiLDAPTemplateResponse>\n    > {\n      const localVarAxiosArgs = await LDAPApiAxiosParamCreator(\n        configuration\n      ).deleteLDAPTemplate2(catalogId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary LDAPSearch performs LDAP Search operation ...\n     * @param {string} catalogId ----- connection ----- Optional. ID of the preconfigured LDAP catalog\n     * @param {ApiLDAPLDAPSearchBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async lDAPSearch(\n      catalogId: string,\n      body: ApiLDAPLDAPSearchBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiLDAPSearchResponse>\n    > {\n      const localVarAxiosArgs = await LDAPApiAxiosParamCreator(\n        configuration\n      ).lDAPSearch(catalogId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary LDAPSearch performs LDAP Search operation ...\n     * @param {string} catalogId ----- connection ----- Optional. ID of the preconfigured LDAP catalog\n     * @param {string} [url] Optional. URL to establish connection to LDAP catalog  URL e.g.: [(ldap|ldapi|ldaps)://]host[:port]\n     * @param {string} [tlsPEM] TODO: (!)  base64\n     * @param {string} [bind] ----- BIND: Authorization -----  authorization method e.g.: SIMPLE, SAML, NTLM, etc.\n     * @param {string} [username] bind_dn\n     * @param {string} [password] password\n     * @param {string} [baseObject] ----- SearchRequest ----- baseObject [D]istinguished[N]ame\n     * @param {number} [scope] baseObject              (0), singleLevel             (1), wholeSubtree            (2)\n     * @param {number} [derefAliases] neverDerefAliases       (0), derefInSearching        (1), derefFindingBaseObj     (2), derefAlways             (3)\n     * @param {string} [sizeLimit] INTEGER (0 ..  maxInt),\n     * @param {string} [timeLimit] INTEGER (0 ..  maxInt),\n     * @param {boolean} [typesOnly] BOOLEAN,\n     * @param {string} [filter] Filter,\n     * @param {Array<string>} [attributes] AttributeSelection\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async lDAPSearch2(\n      catalogId: string,\n      url?: string,\n      tlsPEM?: string,\n      bind?: string,\n      username?: string,\n      password?: string,\n      baseObject?: string,\n      scope?: number,\n      derefAliases?: number,\n      sizeLimit?: string,\n      timeLimit?: string,\n      typesOnly?: boolean,\n      filter?: string,\n      attributes?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiLDAPSearchResponse>\n    > {\n      const localVarAxiosArgs = await LDAPApiAxiosParamCreator(\n        configuration\n      ).lDAPSearch2(\n        catalogId,\n        url,\n        tlsPEM,\n        bind,\n        username,\n        password,\n        baseObject,\n        scope,\n        derefAliases,\n        sizeLimit,\n        timeLimit,\n        typesOnly,\n        filter,\n        attributes,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary LDAPSearch performs LDAP Search operation ...\n     * @param {ApiLDAPSearchRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async lDAPSearch3(\n      body: ApiLDAPSearchRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiLDAPSearchResponse>\n    > {\n      const localVarAxiosArgs = await LDAPApiAxiosParamCreator(\n        configuration\n      ).lDAPSearch3(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary LDAPSearch performs LDAP Search operation ...\n     * @param {string} [catalogId] ----- connection ----- Optional. ID of the preconfigured LDAP catalog\n     * @param {string} [url] Optional. URL to establish connection to LDAP catalog  URL e.g.: [(ldap|ldapi|ldaps)://]host[:port]\n     * @param {string} [tlsPEM] TODO: (!)  base64\n     * @param {string} [bind] ----- BIND: Authorization -----  authorization method e.g.: SIMPLE, SAML, NTLM, etc.\n     * @param {string} [username] bind_dn\n     * @param {string} [password] password\n     * @param {string} [baseObject] ----- SearchRequest ----- baseObject [D]istinguished[N]ame\n     * @param {number} [scope] baseObject              (0), singleLevel             (1), wholeSubtree            (2)\n     * @param {number} [derefAliases] neverDerefAliases       (0), derefInSearching        (1), derefFindingBaseObj     (2), derefAlways             (3)\n     * @param {string} [sizeLimit] INTEGER (0 ..  maxInt),\n     * @param {string} [timeLimit] INTEGER (0 ..  maxInt),\n     * @param {boolean} [typesOnly] BOOLEAN,\n     * @param {string} [filter] Filter,\n     * @param {Array<string>} [attributes] AttributeSelection\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async lDAPSearch4(\n      catalogId?: string,\n      url?: string,\n      tlsPEM?: string,\n      bind?: string,\n      username?: string,\n      password?: string,\n      baseObject?: string,\n      scope?: number,\n      derefAliases?: number,\n      sizeLimit?: string,\n      timeLimit?: string,\n      typesOnly?: boolean,\n      filter?: string,\n      attributes?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiLDAPSearchResponse>\n    > {\n      const localVarAxiosArgs = await LDAPApiAxiosParamCreator(\n        configuration\n      ).lDAPSearch4(\n        catalogId,\n        url,\n        tlsPEM,\n        bind,\n        username,\n        password,\n        baseObject,\n        scope,\n        derefAliases,\n        sizeLimit,\n        timeLimit,\n        typesOnly,\n        filter,\n        attributes,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Read LDAP catalog profile by .id\n     * @param {Array<string>} id ----- Search Basic Filters ---------------------------  selection: by unique identifier\n     * @param {number} [page] ----- Select Options -------------------------  default: 1\n     * @param {number} [size] default: 16\n     * @param {Array<string>} [fields] attributes list\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {string} [q] term-of-search: lookup[name]\n     * @param {string} [name] case-ignore substring match: ILIKE \\&#39;*\\&#39; - any; \\&#39;?\\&#39; - one\n     * @param {string} [access] [M]andatory[A]ccess[C]ontrol: with access mode (action) granted!\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async locateLDAPCatalog(\n      id: Array<string>,\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      q?: string,\n      name?: string,\n      access?: string,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiLDAPCatalog>\n    > {\n      const localVarAxiosArgs = await LDAPApiAxiosParamCreator(\n        configuration\n      ).locateLDAPCatalog(\n        id,\n        page,\n        size,\n        fields,\n        sort,\n        q,\n        name,\n        access,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} catalogId REQUIRED. Parent LDAP catalog IDentifier\n     * @param {Array<string>} id ----- Search Basic Filters --------------------------- OPTIONAL. Search templates by .id\n     * @param {number} [page] ----- Select Options -------------------------  default: 1\n     * @param {number} [size] default: 16\n     * @param {Array<string>} [fields] attributes list\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {string} [q] OPTIONAL. Filter(s) SET\n     * @param {string} [name]\n     * @param {string} [baseDn]\n     * @param {string} [objclass]\n     * @param {boolean} [enabled]\n     * @param {boolean} [disabled]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async locateLDAPTemplate(\n      catalogId: string,\n      id: Array<string>,\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      q?: string,\n      name?: string,\n      baseDn?: string,\n      objclass?: string,\n      enabled?: boolean,\n      disabled?: boolean,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiLDAPTemplate>\n    > {\n      const localVarAxiosArgs = await LDAPApiAxiosParamCreator(\n        configuration\n      ).locateLDAPTemplate(\n        catalogId,\n        id,\n        page,\n        size,\n        fields,\n        sort,\n        q,\n        name,\n        baseDn,\n        objclass,\n        enabled,\n        disabled,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary (ResyncLDAPResponse) {\n     * @param {string} catalogId REQUIRED. Parent LDAP catalog IDentifier\n     * @param {Array<string>} id ----- Search Basic Filters --------------------------- OPTIONAL. Search process by unique .id\n     * @param {number} [page] ----- Select Options -------------------------  default: 1\n     * @param {number} [size] default: 16\n     * @param {Array<string>} [fields] attributes list\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {string} [q] OPTIONAL. Filter(s) SET\n     * @param {string} [template]\n     * @param {Array<string>} [objclass]\n     * @param {boolean} [failed] WITH .errs\n     * @param {boolean} [enabled] created|updated\n     * @param {boolean} [disabled] deleted\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async locateLDAProcess(\n      catalogId: string,\n      id: Array<string>,\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      q?: string,\n      template?: string,\n      objclass?: Array<string>,\n      failed?: boolean,\n      enabled?: boolean,\n      disabled?: boolean,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiLDAProcess>\n    > {\n      const localVarAxiosArgs = await LDAPApiAxiosParamCreator(\n        configuration\n      ).locateLDAProcess(\n        catalogId,\n        id,\n        page,\n        size,\n        fields,\n        sort,\n        q,\n        template,\n        objclass,\n        failed,\n        enabled,\n        disabled,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     * (ResyncLDAPResponse) {\n     * @summary Resync LDAP directory catalog changes ...\n     * @param {string} catalogId LDAP Catalog unique IDentifier to sync with  catalog_id\n     * @param {ApiLDAPResyncLDAPCatalogBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async resyncLDAPCatalog(\n      catalogId: string,\n      body: ApiLDAPResyncLDAPCatalogBody,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiLDAProcess>\n    > {\n      const localVarAxiosArgs = await LDAPApiAxiosParamCreator(\n        configuration\n      ).resyncLDAPCatalog(catalogId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Search for LDAP directories ...\n     * @param {number} [page] ----- Select Options -------------------------  default: 1\n     * @param {number} [size] default: 16\n     * @param {Array<string>} [fields] attributes list\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {Array<string>} [id] ----- Search Basic Filters ---------------------------  selection: by unique identifier\n     * @param {string} [q] term-of-search: lookup[name]\n     * @param {string} [name] case-ignore substring match: ILIKE \\&#39;*\\&#39; - any; \\&#39;?\\&#39; - one\n     * @param {string} [access] [M]andatory[A]ccess[C]ontrol: with access mode (action) granted!\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchLDAPCatalog(\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      id?: Array<string>,\n      q?: string,\n      name?: string,\n      access?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiSearchLDAPResponse>\n    > {\n      const localVarAxiosArgs = await LDAPApiAxiosParamCreator(\n        configuration\n      ).searchLDAPCatalog(\n        page,\n        size,\n        fields,\n        sort,\n        id,\n        q,\n        name,\n        access,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} catalogId REQUIRED. Parent LDAP catalog IDentifier\n     * @param {number} [page] ----- Select Options -------------------------  default: 1\n     * @param {number} [size] default: 16\n     * @param {Array<string>} [fields] attributes list\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {Array<string>} [id] ----- Search Basic Filters --------------------------- OPTIONAL. Search templates by .id\n     * @param {string} [q] OPTIONAL. Filter(s) SET\n     * @param {string} [name]\n     * @param {string} [baseDn]\n     * @param {string} [objclass]\n     * @param {boolean} [enabled]\n     * @param {boolean} [disabled]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchLDAPTemplate(\n      catalogId: string,\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      id?: Array<string>,\n      q?: string,\n      name?: string,\n      baseDn?: string,\n      objclass?: string,\n      enabled?: boolean,\n      disabled?: boolean,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiLDAPTemplateResponse>\n    > {\n      const localVarAxiosArgs = await LDAPApiAxiosParamCreator(\n        configuration\n      ).searchLDAPTemplate(\n        catalogId,\n        page,\n        size,\n        fields,\n        sort,\n        id,\n        q,\n        name,\n        baseDn,\n        objclass,\n        enabled,\n        disabled,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary (ResyncLDAPResponse) {\n     * @param {string} catalogId REQUIRED. Parent LDAP catalog IDentifier\n     * @param {number} [page] ----- Select Options -------------------------  default: 1\n     * @param {number} [size] default: 16\n     * @param {Array<string>} [fields] attributes list\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {Array<string>} [id] ----- Search Basic Filters --------------------------- OPTIONAL. Search process by unique .id\n     * @param {string} [q] OPTIONAL. Filter(s) SET\n     * @param {string} [template]\n     * @param {Array<string>} [objclass]\n     * @param {boolean} [failed] WITH .errs\n     * @param {boolean} [enabled] created|updated\n     * @param {boolean} [disabled] deleted\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchLDAProcess(\n      catalogId: string,\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      id?: Array<string>,\n      q?: string,\n      template?: string,\n      objclass?: Array<string>,\n      failed?: boolean,\n      enabled?: boolean,\n      disabled?: boolean,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiLDAProcessResponse>\n    > {\n      const localVarAxiosArgs = await LDAPApiAxiosParamCreator(\n        configuration\n      ).searchLDAProcess(\n        catalogId,\n        page,\n        size,\n        fields,\n        sort,\n        id,\n        q,\n        template,\n        objclass,\n        failed,\n        enabled,\n        disabled,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update LDAP profile details\n     * @param {string} catalogId identity int64 dc &#x3D; 1;\n     * @param {ApiLDAPUpdateLDAPCatalogBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateLDAPCatalog(\n      catalogId: string,\n      body: ApiLDAPUpdateLDAPCatalogBody,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiLDAPCatalog>\n    > {\n      const localVarAxiosArgs = await LDAPApiAxiosParamCreator(\n        configuration\n      ).updateLDAPCatalog(catalogId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update LDAP profile details\n     * @param {string} catalogId identity int64 dc &#x3D; 1;\n     * @param {ApiLDAPUpdateLDAPCatalogBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateLDAPCatalog2(\n      catalogId: string,\n      body: ApiLDAPUpdateLDAPCatalogBody,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiLDAPCatalog>\n    > {\n      const localVarAxiosArgs = await LDAPApiAxiosParamCreator(\n        configuration\n      ).updateLDAPCatalog2(catalogId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} templateCatalogId identifier\n     * @param {string} templateId ID unique\n     * @param {ApiLDAPUpdateLDAPTemplateBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateLDAPTemplate(\n      templateCatalogId: string,\n      templateId: string,\n      body: ApiLDAPUpdateLDAPTemplateBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiLDAPTemplate>\n    > {\n      const localVarAxiosArgs = await LDAPApiAxiosParamCreator(\n        configuration\n      ).updateLDAPTemplate(templateCatalogId, templateId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} templateCatalogId identifier\n     * @param {string} templateId ID unique\n     * @param {ApiLDAPUpdateLDAPTemplateBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateLDAPTemplate2(\n      templateCatalogId: string,\n      templateId: string,\n      body: ApiLDAPUpdateLDAPTemplateBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiLDAPTemplate>\n    > {\n      const localVarAxiosArgs = await LDAPApiAxiosParamCreator(\n        configuration\n      ).updateLDAPTemplate2(templateCatalogId, templateId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * LDAPApi - factory interface\n * @export\n */\nexport const LDAPApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Create LDAP profile\n     * @param {ApiLDAPCatalog} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createLDAPCatalog(\n      body: ApiLDAPCatalog,\n      options?: any\n    ): AxiosPromise<ApiLDAPCatalog> {\n      return LDAPApiFp(configuration)\n        .createLDAPCatalog(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} catalogId identifier\n     * @param {ApiLDAPCreateLDAPTemplateBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createLDAPTemplate(\n      catalogId: string,\n      body: ApiLDAPCreateLDAPTemplateBody,\n      options?: any\n    ): AxiosPromise<ApiLDAPTemplate> {\n      return LDAPApiFp(configuration)\n        .createLDAPTemplate(catalogId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Delete LDAP profile(s) ...\n     * @param {string} id catalog id\n     * @param {boolean} [relatedObjects] WITH objects bound to ?\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteLDAPCatalog(\n      id: string,\n      relatedObjects?: boolean,\n      options?: any\n    ): AxiosPromise<ApiLDAPCatalog> {\n      return LDAPApiFp(configuration)\n        .deleteLDAPCatalog(id, relatedObjects, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Delete LDAP profile(s) ...\n     * @param {ApiDeleteLDAPRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteLDAPCatalog2(\n      body: ApiDeleteLDAPRequest,\n      options?: any\n    ): AxiosPromise<ApiLDAPCatalog> {\n      return LDAPApiFp(configuration)\n        .deleteLDAPCatalog2(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} catalogId REQUIRED. Parent LDAP catalog IDentifier\n     * @param {Array<string>} id ----- Search Basic Filters --------------------------- OPTIONAL. Search templates by .id\n     * @param {ApiLDAPDeleteLDAPTemplateBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteLDAPTemplate(\n      catalogId: string,\n      id: Array<string>,\n      body: ApiLDAPDeleteLDAPTemplateBody,\n      options?: any\n    ): AxiosPromise<ApiLDAPTemplateResponse> {\n      return LDAPApiFp(configuration)\n        .deleteLDAPTemplate(catalogId, id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} catalogId REQUIRED. Parent LDAP catalog IDentifier\n     * @param {ApiLDAPDeleteLDAPTemplateBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteLDAPTemplate2(\n      catalogId: string,\n      body: ApiLDAPDeleteLDAPTemplateBody,\n      options?: any\n    ): AxiosPromise<ApiLDAPTemplateResponse> {\n      return LDAPApiFp(configuration)\n        .deleteLDAPTemplate2(catalogId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary LDAPSearch performs LDAP Search operation ...\n     * @param {string} catalogId ----- connection ----- Optional. ID of the preconfigured LDAP catalog\n     * @param {ApiLDAPLDAPSearchBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    lDAPSearch(\n      catalogId: string,\n      body: ApiLDAPLDAPSearchBody,\n      options?: any\n    ): AxiosPromise<ApiLDAPSearchResponse> {\n      return LDAPApiFp(configuration)\n        .lDAPSearch(catalogId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary LDAPSearch performs LDAP Search operation ...\n     * @param {string} catalogId ----- connection ----- Optional. ID of the preconfigured LDAP catalog\n     * @param {string} [url] Optional. URL to establish connection to LDAP catalog  URL e.g.: [(ldap|ldapi|ldaps)://]host[:port]\n     * @param {string} [tlsPEM] TODO: (!)  base64\n     * @param {string} [bind] ----- BIND: Authorization -----  authorization method e.g.: SIMPLE, SAML, NTLM, etc.\n     * @param {string} [username] bind_dn\n     * @param {string} [password] password\n     * @param {string} [baseObject] ----- SearchRequest ----- baseObject [D]istinguished[N]ame\n     * @param {number} [scope] baseObject              (0), singleLevel             (1), wholeSubtree            (2)\n     * @param {number} [derefAliases] neverDerefAliases       (0), derefInSearching        (1), derefFindingBaseObj     (2), derefAlways             (3)\n     * @param {string} [sizeLimit] INTEGER (0 ..  maxInt),\n     * @param {string} [timeLimit] INTEGER (0 ..  maxInt),\n     * @param {boolean} [typesOnly] BOOLEAN,\n     * @param {string} [filter] Filter,\n     * @param {Array<string>} [attributes] AttributeSelection\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    lDAPSearch2(\n      catalogId: string,\n      url?: string,\n      tlsPEM?: string,\n      bind?: string,\n      username?: string,\n      password?: string,\n      baseObject?: string,\n      scope?: number,\n      derefAliases?: number,\n      sizeLimit?: string,\n      timeLimit?: string,\n      typesOnly?: boolean,\n      filter?: string,\n      attributes?: Array<string>,\n      options?: any\n    ): AxiosPromise<ApiLDAPSearchResponse> {\n      return LDAPApiFp(configuration)\n        .lDAPSearch2(\n          catalogId,\n          url,\n          tlsPEM,\n          bind,\n          username,\n          password,\n          baseObject,\n          scope,\n          derefAliases,\n          sizeLimit,\n          timeLimit,\n          typesOnly,\n          filter,\n          attributes,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary LDAPSearch performs LDAP Search operation ...\n     * @param {ApiLDAPSearchRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    lDAPSearch3(\n      body: ApiLDAPSearchRequest,\n      options?: any\n    ): AxiosPromise<ApiLDAPSearchResponse> {\n      return LDAPApiFp(configuration)\n        .lDAPSearch3(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary LDAPSearch performs LDAP Search operation ...\n     * @param {string} [catalogId] ----- connection ----- Optional. ID of the preconfigured LDAP catalog\n     * @param {string} [url] Optional. URL to establish connection to LDAP catalog  URL e.g.: [(ldap|ldapi|ldaps)://]host[:port]\n     * @param {string} [tlsPEM] TODO: (!)  base64\n     * @param {string} [bind] ----- BIND: Authorization -----  authorization method e.g.: SIMPLE, SAML, NTLM, etc.\n     * @param {string} [username] bind_dn\n     * @param {string} [password] password\n     * @param {string} [baseObject] ----- SearchRequest ----- baseObject [D]istinguished[N]ame\n     * @param {number} [scope] baseObject              (0), singleLevel             (1), wholeSubtree            (2)\n     * @param {number} [derefAliases] neverDerefAliases       (0), derefInSearching        (1), derefFindingBaseObj     (2), derefAlways             (3)\n     * @param {string} [sizeLimit] INTEGER (0 ..  maxInt),\n     * @param {string} [timeLimit] INTEGER (0 ..  maxInt),\n     * @param {boolean} [typesOnly] BOOLEAN,\n     * @param {string} [filter] Filter,\n     * @param {Array<string>} [attributes] AttributeSelection\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    lDAPSearch4(\n      catalogId?: string,\n      url?: string,\n      tlsPEM?: string,\n      bind?: string,\n      username?: string,\n      password?: string,\n      baseObject?: string,\n      scope?: number,\n      derefAliases?: number,\n      sizeLimit?: string,\n      timeLimit?: string,\n      typesOnly?: boolean,\n      filter?: string,\n      attributes?: Array<string>,\n      options?: any\n    ): AxiosPromise<ApiLDAPSearchResponse> {\n      return LDAPApiFp(configuration)\n        .lDAPSearch4(\n          catalogId,\n          url,\n          tlsPEM,\n          bind,\n          username,\n          password,\n          baseObject,\n          scope,\n          derefAliases,\n          sizeLimit,\n          timeLimit,\n          typesOnly,\n          filter,\n          attributes,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Read LDAP catalog profile by .id\n     * @param {Array<string>} id ----- Search Basic Filters ---------------------------  selection: by unique identifier\n     * @param {number} [page] ----- Select Options -------------------------  default: 1\n     * @param {number} [size] default: 16\n     * @param {Array<string>} [fields] attributes list\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {string} [q] term-of-search: lookup[name]\n     * @param {string} [name] case-ignore substring match: ILIKE \\&#39;*\\&#39; - any; \\&#39;?\\&#39; - one\n     * @param {string} [access] [M]andatory[A]ccess[C]ontrol: with access mode (action) granted!\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateLDAPCatalog(\n      id: Array<string>,\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      q?: string,\n      name?: string,\n      access?: string,\n      options?: any\n    ): AxiosPromise<ApiLDAPCatalog> {\n      return LDAPApiFp(configuration)\n        .locateLDAPCatalog(\n          id,\n          page,\n          size,\n          fields,\n          sort,\n          q,\n          name,\n          access,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} catalogId REQUIRED. Parent LDAP catalog IDentifier\n     * @param {Array<string>} id ----- Search Basic Filters --------------------------- OPTIONAL. Search templates by .id\n     * @param {number} [page] ----- Select Options -------------------------  default: 1\n     * @param {number} [size] default: 16\n     * @param {Array<string>} [fields] attributes list\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {string} [q] OPTIONAL. Filter(s) SET\n     * @param {string} [name]\n     * @param {string} [baseDn]\n     * @param {string} [objclass]\n     * @param {boolean} [enabled]\n     * @param {boolean} [disabled]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateLDAPTemplate(\n      catalogId: string,\n      id: Array<string>,\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      q?: string,\n      name?: string,\n      baseDn?: string,\n      objclass?: string,\n      enabled?: boolean,\n      disabled?: boolean,\n      options?: any\n    ): AxiosPromise<ApiLDAPTemplate> {\n      return LDAPApiFp(configuration)\n        .locateLDAPTemplate(\n          catalogId,\n          id,\n          page,\n          size,\n          fields,\n          sort,\n          q,\n          name,\n          baseDn,\n          objclass,\n          enabled,\n          disabled,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary (ResyncLDAPResponse) {\n     * @param {string} catalogId REQUIRED. Parent LDAP catalog IDentifier\n     * @param {Array<string>} id ----- Search Basic Filters --------------------------- OPTIONAL. Search process by unique .id\n     * @param {number} [page] ----- Select Options -------------------------  default: 1\n     * @param {number} [size] default: 16\n     * @param {Array<string>} [fields] attributes list\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {string} [q] OPTIONAL. Filter(s) SET\n     * @param {string} [template]\n     * @param {Array<string>} [objclass]\n     * @param {boolean} [failed] WITH .errs\n     * @param {boolean} [enabled] created|updated\n     * @param {boolean} [disabled] deleted\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateLDAProcess(\n      catalogId: string,\n      id: Array<string>,\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      q?: string,\n      template?: string,\n      objclass?: Array<string>,\n      failed?: boolean,\n      enabled?: boolean,\n      disabled?: boolean,\n      options?: any\n    ): AxiosPromise<ApiLDAProcess> {\n      return LDAPApiFp(configuration)\n        .locateLDAProcess(\n          catalogId,\n          id,\n          page,\n          size,\n          fields,\n          sort,\n          q,\n          template,\n          objclass,\n          failed,\n          enabled,\n          disabled,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     * (ResyncLDAPResponse) {\n     * @summary Resync LDAP directory catalog changes ...\n     * @param {string} catalogId LDAP Catalog unique IDentifier to sync with  catalog_id\n     * @param {ApiLDAPResyncLDAPCatalogBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    resyncLDAPCatalog(\n      catalogId: string,\n      body: ApiLDAPResyncLDAPCatalogBody,\n      options?: any\n    ): AxiosPromise<ApiLDAProcess> {\n      return LDAPApiFp(configuration)\n        .resyncLDAPCatalog(catalogId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Search for LDAP directories ...\n     * @param {number} [page] ----- Select Options -------------------------  default: 1\n     * @param {number} [size] default: 16\n     * @param {Array<string>} [fields] attributes list\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {Array<string>} [id] ----- Search Basic Filters ---------------------------  selection: by unique identifier\n     * @param {string} [q] term-of-search: lookup[name]\n     * @param {string} [name] case-ignore substring match: ILIKE \\&#39;*\\&#39; - any; \\&#39;?\\&#39; - one\n     * @param {string} [access] [M]andatory[A]ccess[C]ontrol: with access mode (action) granted!\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchLDAPCatalog(\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      id?: Array<string>,\n      q?: string,\n      name?: string,\n      access?: string,\n      options?: any\n    ): AxiosPromise<ApiSearchLDAPResponse> {\n      return LDAPApiFp(configuration)\n        .searchLDAPCatalog(\n          page,\n          size,\n          fields,\n          sort,\n          id,\n          q,\n          name,\n          access,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} catalogId REQUIRED. Parent LDAP catalog IDentifier\n     * @param {number} [page] ----- Select Options -------------------------  default: 1\n     * @param {number} [size] default: 16\n     * @param {Array<string>} [fields] attributes list\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {Array<string>} [id] ----- Search Basic Filters --------------------------- OPTIONAL. Search templates by .id\n     * @param {string} [q] OPTIONAL. Filter(s) SET\n     * @param {string} [name]\n     * @param {string} [baseDn]\n     * @param {string} [objclass]\n     * @param {boolean} [enabled]\n     * @param {boolean} [disabled]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchLDAPTemplate(\n      catalogId: string,\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      id?: Array<string>,\n      q?: string,\n      name?: string,\n      baseDn?: string,\n      objclass?: string,\n      enabled?: boolean,\n      disabled?: boolean,\n      options?: any\n    ): AxiosPromise<ApiLDAPTemplateResponse> {\n      return LDAPApiFp(configuration)\n        .searchLDAPTemplate(\n          catalogId,\n          page,\n          size,\n          fields,\n          sort,\n          id,\n          q,\n          name,\n          baseDn,\n          objclass,\n          enabled,\n          disabled,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary (ResyncLDAPResponse) {\n     * @param {string} catalogId REQUIRED. Parent LDAP catalog IDentifier\n     * @param {number} [page] ----- Select Options -------------------------  default: 1\n     * @param {number} [size] default: 16\n     * @param {Array<string>} [fields] attributes list\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {Array<string>} [id] ----- Search Basic Filters --------------------------- OPTIONAL. Search process by unique .id\n     * @param {string} [q] OPTIONAL. Filter(s) SET\n     * @param {string} [template]\n     * @param {Array<string>} [objclass]\n     * @param {boolean} [failed] WITH .errs\n     * @param {boolean} [enabled] created|updated\n     * @param {boolean} [disabled] deleted\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchLDAProcess(\n      catalogId: string,\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      id?: Array<string>,\n      q?: string,\n      template?: string,\n      objclass?: Array<string>,\n      failed?: boolean,\n      enabled?: boolean,\n      disabled?: boolean,\n      options?: any\n    ): AxiosPromise<ApiLDAProcessResponse> {\n      return LDAPApiFp(configuration)\n        .searchLDAProcess(\n          catalogId,\n          page,\n          size,\n          fields,\n          sort,\n          id,\n          q,\n          template,\n          objclass,\n          failed,\n          enabled,\n          disabled,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update LDAP profile details\n     * @param {string} catalogId identity int64 dc &#x3D; 1;\n     * @param {ApiLDAPUpdateLDAPCatalogBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateLDAPCatalog(\n      catalogId: string,\n      body: ApiLDAPUpdateLDAPCatalogBody,\n      options?: any\n    ): AxiosPromise<ApiLDAPCatalog> {\n      return LDAPApiFp(configuration)\n        .updateLDAPCatalog(catalogId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update LDAP profile details\n     * @param {string} catalogId identity int64 dc &#x3D; 1;\n     * @param {ApiLDAPUpdateLDAPCatalogBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateLDAPCatalog2(\n      catalogId: string,\n      body: ApiLDAPUpdateLDAPCatalogBody,\n      options?: any\n    ): AxiosPromise<ApiLDAPCatalog> {\n      return LDAPApiFp(configuration)\n        .updateLDAPCatalog2(catalogId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} templateCatalogId identifier\n     * @param {string} templateId ID unique\n     * @param {ApiLDAPUpdateLDAPTemplateBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateLDAPTemplate(\n      templateCatalogId: string,\n      templateId: string,\n      body: ApiLDAPUpdateLDAPTemplateBody,\n      options?: any\n    ): AxiosPromise<ApiLDAPTemplate> {\n      return LDAPApiFp(configuration)\n        .updateLDAPTemplate(templateCatalogId, templateId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} templateCatalogId identifier\n     * @param {string} templateId ID unique\n     * @param {ApiLDAPUpdateLDAPTemplateBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateLDAPTemplate2(\n      templateCatalogId: string,\n      templateId: string,\n      body: ApiLDAPUpdateLDAPTemplateBody,\n      options?: any\n    ): AxiosPromise<ApiLDAPTemplate> {\n      return LDAPApiFp(configuration)\n        .updateLDAPTemplate2(templateCatalogId, templateId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * LDAPApi - object-oriented interface\n * @export\n * @class LDAPApi\n * @extends {BaseAPI}\n */\nexport class LDAPApi extends BaseAPI {\n  /**\n   *\n   * @summary Create LDAP profile\n   * @param {ApiLDAPCatalog} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof LDAPApi\n   */\n  public createLDAPCatalog(body: ApiLDAPCatalog, options?: any) {\n    return LDAPApiFp(this.configuration)\n      .createLDAPCatalog(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} catalogId identifier\n   * @param {ApiLDAPCreateLDAPTemplateBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof LDAPApi\n   */\n  public createLDAPTemplate(\n    catalogId: string,\n    body: ApiLDAPCreateLDAPTemplateBody,\n    options?: any\n  ) {\n    return LDAPApiFp(this.configuration)\n      .createLDAPTemplate(catalogId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Delete LDAP profile(s) ...\n   * @param {string} id catalog id\n   * @param {boolean} [relatedObjects] WITH objects bound to ?\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof LDAPApi\n   */\n  public deleteLDAPCatalog(\n    id: string,\n    relatedObjects?: boolean,\n    options?: any\n  ) {\n    return LDAPApiFp(this.configuration)\n      .deleteLDAPCatalog(id, relatedObjects, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Delete LDAP profile(s) ...\n   * @param {ApiDeleteLDAPRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof LDAPApi\n   */\n  public deleteLDAPCatalog2(body: ApiDeleteLDAPRequest, options?: any) {\n    return LDAPApiFp(this.configuration)\n      .deleteLDAPCatalog2(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} catalogId REQUIRED. Parent LDAP catalog IDentifier\n   * @param {Array<string>} id ----- Search Basic Filters --------------------------- OPTIONAL. Search templates by .id\n   * @param {ApiLDAPDeleteLDAPTemplateBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof LDAPApi\n   */\n  public deleteLDAPTemplate(\n    catalogId: string,\n    id: Array<string>,\n    body: ApiLDAPDeleteLDAPTemplateBody,\n    options?: any\n  ) {\n    return LDAPApiFp(this.configuration)\n      .deleteLDAPTemplate(catalogId, id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} catalogId REQUIRED. Parent LDAP catalog IDentifier\n   * @param {ApiLDAPDeleteLDAPTemplateBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof LDAPApi\n   */\n  public deleteLDAPTemplate2(\n    catalogId: string,\n    body: ApiLDAPDeleteLDAPTemplateBody,\n    options?: any\n  ) {\n    return LDAPApiFp(this.configuration)\n      .deleteLDAPTemplate2(catalogId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary LDAPSearch performs LDAP Search operation ...\n   * @param {string} catalogId ----- connection ----- Optional. ID of the preconfigured LDAP catalog\n   * @param {ApiLDAPLDAPSearchBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof LDAPApi\n   */\n  public lDAPSearch(\n    catalogId: string,\n    body: ApiLDAPLDAPSearchBody,\n    options?: any\n  ) {\n    return LDAPApiFp(this.configuration)\n      .lDAPSearch(catalogId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary LDAPSearch performs LDAP Search operation ...\n   * @param {string} catalogId ----- connection ----- Optional. ID of the preconfigured LDAP catalog\n   * @param {string} [url] Optional. URL to establish connection to LDAP catalog  URL e.g.: [(ldap|ldapi|ldaps)://]host[:port]\n   * @param {string} [tlsPEM] TODO: (!)  base64\n   * @param {string} [bind] ----- BIND: Authorization -----  authorization method e.g.: SIMPLE, SAML, NTLM, etc.\n   * @param {string} [username] bind_dn\n   * @param {string} [password] password\n   * @param {string} [baseObject] ----- SearchRequest ----- baseObject [D]istinguished[N]ame\n   * @param {number} [scope] baseObject              (0), singleLevel             (1), wholeSubtree            (2)\n   * @param {number} [derefAliases] neverDerefAliases       (0), derefInSearching        (1), derefFindingBaseObj     (2), derefAlways             (3)\n   * @param {string} [sizeLimit] INTEGER (0 ..  maxInt),\n   * @param {string} [timeLimit] INTEGER (0 ..  maxInt),\n   * @param {boolean} [typesOnly] BOOLEAN,\n   * @param {string} [filter] Filter,\n   * @param {Array<string>} [attributes] AttributeSelection\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof LDAPApi\n   */\n  public lDAPSearch2(\n    catalogId: string,\n    url?: string,\n    tlsPEM?: string,\n    bind?: string,\n    username?: string,\n    password?: string,\n    baseObject?: string,\n    scope?: number,\n    derefAliases?: number,\n    sizeLimit?: string,\n    timeLimit?: string,\n    typesOnly?: boolean,\n    filter?: string,\n    attributes?: Array<string>,\n    options?: any\n  ) {\n    return LDAPApiFp(this.configuration)\n      .lDAPSearch2(\n        catalogId,\n        url,\n        tlsPEM,\n        bind,\n        username,\n        password,\n        baseObject,\n        scope,\n        derefAliases,\n        sizeLimit,\n        timeLimit,\n        typesOnly,\n        filter,\n        attributes,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary LDAPSearch performs LDAP Search operation ...\n   * @param {ApiLDAPSearchRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof LDAPApi\n   */\n  public lDAPSearch3(body: ApiLDAPSearchRequest, options?: any) {\n    return LDAPApiFp(this.configuration)\n      .lDAPSearch3(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary LDAPSearch performs LDAP Search operation ...\n   * @param {string} [catalogId] ----- connection ----- Optional. ID of the preconfigured LDAP catalog\n   * @param {string} [url] Optional. URL to establish connection to LDAP catalog  URL e.g.: [(ldap|ldapi|ldaps)://]host[:port]\n   * @param {string} [tlsPEM] TODO: (!)  base64\n   * @param {string} [bind] ----- BIND: Authorization -----  authorization method e.g.: SIMPLE, SAML, NTLM, etc.\n   * @param {string} [username] bind_dn\n   * @param {string} [password] password\n   * @param {string} [baseObject] ----- SearchRequest ----- baseObject [D]istinguished[N]ame\n   * @param {number} [scope] baseObject              (0), singleLevel             (1), wholeSubtree            (2)\n   * @param {number} [derefAliases] neverDerefAliases       (0), derefInSearching        (1), derefFindingBaseObj     (2), derefAlways             (3)\n   * @param {string} [sizeLimit] INTEGER (0 ..  maxInt),\n   * @param {string} [timeLimit] INTEGER (0 ..  maxInt),\n   * @param {boolean} [typesOnly] BOOLEAN,\n   * @param {string} [filter] Filter,\n   * @param {Array<string>} [attributes] AttributeSelection\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof LDAPApi\n   */\n  public lDAPSearch4(\n    catalogId?: string,\n    url?: string,\n    tlsPEM?: string,\n    bind?: string,\n    username?: string,\n    password?: string,\n    baseObject?: string,\n    scope?: number,\n    derefAliases?: number,\n    sizeLimit?: string,\n    timeLimit?: string,\n    typesOnly?: boolean,\n    filter?: string,\n    attributes?: Array<string>,\n    options?: any\n  ) {\n    return LDAPApiFp(this.configuration)\n      .lDAPSearch4(\n        catalogId,\n        url,\n        tlsPEM,\n        bind,\n        username,\n        password,\n        baseObject,\n        scope,\n        derefAliases,\n        sizeLimit,\n        timeLimit,\n        typesOnly,\n        filter,\n        attributes,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Read LDAP catalog profile by .id\n   * @param {Array<string>} id ----- Search Basic Filters ---------------------------  selection: by unique identifier\n   * @param {number} [page] ----- Select Options -------------------------  default: 1\n   * @param {number} [size] default: 16\n   * @param {Array<string>} [fields] attributes list\n   * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n   * @param {string} [q] term-of-search: lookup[name]\n   * @param {string} [name] case-ignore substring match: ILIKE \\&#39;*\\&#39; - any; \\&#39;?\\&#39; - one\n   * @param {string} [access] [M]andatory[A]ccess[C]ontrol: with access mode (action) granted!\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof LDAPApi\n   */\n  public locateLDAPCatalog(\n    id: Array<string>,\n    page?: number,\n    size?: number,\n    fields?: Array<string>,\n    sort?: Array<string>,\n    q?: string,\n    name?: string,\n    access?: string,\n    options?: any\n  ) {\n    return LDAPApiFp(this.configuration)\n      .locateLDAPCatalog(id, page, size, fields, sort, q, name, access, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} catalogId REQUIRED. Parent LDAP catalog IDentifier\n   * @param {Array<string>} id ----- Search Basic Filters --------------------------- OPTIONAL. Search templates by .id\n   * @param {number} [page] ----- Select Options -------------------------  default: 1\n   * @param {number} [size] default: 16\n   * @param {Array<string>} [fields] attributes list\n   * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n   * @param {string} [q] OPTIONAL. Filter(s) SET\n   * @param {string} [name]\n   * @param {string} [baseDn]\n   * @param {string} [objclass]\n   * @param {boolean} [enabled]\n   * @param {boolean} [disabled]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof LDAPApi\n   */\n  public locateLDAPTemplate(\n    catalogId: string,\n    id: Array<string>,\n    page?: number,\n    size?: number,\n    fields?: Array<string>,\n    sort?: Array<string>,\n    q?: string,\n    name?: string,\n    baseDn?: string,\n    objclass?: string,\n    enabled?: boolean,\n    disabled?: boolean,\n    options?: any\n  ) {\n    return LDAPApiFp(this.configuration)\n      .locateLDAPTemplate(\n        catalogId,\n        id,\n        page,\n        size,\n        fields,\n        sort,\n        q,\n        name,\n        baseDn,\n        objclass,\n        enabled,\n        disabled,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary (ResyncLDAPResponse) {\n   * @param {string} catalogId REQUIRED. Parent LDAP catalog IDentifier\n   * @param {Array<string>} id ----- Search Basic Filters --------------------------- OPTIONAL. Search process by unique .id\n   * @param {number} [page] ----- Select Options -------------------------  default: 1\n   * @param {number} [size] default: 16\n   * @param {Array<string>} [fields] attributes list\n   * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n   * @param {string} [q] OPTIONAL. Filter(s) SET\n   * @param {string} [template]\n   * @param {Array<string>} [objclass]\n   * @param {boolean} [failed] WITH .errs\n   * @param {boolean} [enabled] created|updated\n   * @param {boolean} [disabled] deleted\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof LDAPApi\n   */\n  public locateLDAProcess(\n    catalogId: string,\n    id: Array<string>,\n    page?: number,\n    size?: number,\n    fields?: Array<string>,\n    sort?: Array<string>,\n    q?: string,\n    template?: string,\n    objclass?: Array<string>,\n    failed?: boolean,\n    enabled?: boolean,\n    disabled?: boolean,\n    options?: any\n  ) {\n    return LDAPApiFp(this.configuration)\n      .locateLDAProcess(\n        catalogId,\n        id,\n        page,\n        size,\n        fields,\n        sort,\n        q,\n        template,\n        objclass,\n        failed,\n        enabled,\n        disabled,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   * (ResyncLDAPResponse) {\n   * @summary Resync LDAP directory catalog changes ...\n   * @param {string} catalogId LDAP Catalog unique IDentifier to sync with  catalog_id\n   * @param {ApiLDAPResyncLDAPCatalogBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof LDAPApi\n   */\n  public resyncLDAPCatalog(\n    catalogId: string,\n    body: ApiLDAPResyncLDAPCatalogBody,\n    options?: any\n  ) {\n    return LDAPApiFp(this.configuration)\n      .resyncLDAPCatalog(catalogId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Search for LDAP directories ...\n   * @param {number} [page] ----- Select Options -------------------------  default: 1\n   * @param {number} [size] default: 16\n   * @param {Array<string>} [fields] attributes list\n   * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n   * @param {Array<string>} [id] ----- Search Basic Filters ---------------------------  selection: by unique identifier\n   * @param {string} [q] term-of-search: lookup[name]\n   * @param {string} [name] case-ignore substring match: ILIKE \\&#39;*\\&#39; - any; \\&#39;?\\&#39; - one\n   * @param {string} [access] [M]andatory[A]ccess[C]ontrol: with access mode (action) granted!\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof LDAPApi\n   */\n  public searchLDAPCatalog(\n    page?: number,\n    size?: number,\n    fields?: Array<string>,\n    sort?: Array<string>,\n    id?: Array<string>,\n    q?: string,\n    name?: string,\n    access?: string,\n    options?: any\n  ) {\n    return LDAPApiFp(this.configuration)\n      .searchLDAPCatalog(page, size, fields, sort, id, q, name, access, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} catalogId REQUIRED. Parent LDAP catalog IDentifier\n   * @param {number} [page] ----- Select Options -------------------------  default: 1\n   * @param {number} [size] default: 16\n   * @param {Array<string>} [fields] attributes list\n   * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n   * @param {Array<string>} [id] ----- Search Basic Filters --------------------------- OPTIONAL. Search templates by .id\n   * @param {string} [q] OPTIONAL. Filter(s) SET\n   * @param {string} [name]\n   * @param {string} [baseDn]\n   * @param {string} [objclass]\n   * @param {boolean} [enabled]\n   * @param {boolean} [disabled]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof LDAPApi\n   */\n  public searchLDAPTemplate(\n    catalogId: string,\n    page?: number,\n    size?: number,\n    fields?: Array<string>,\n    sort?: Array<string>,\n    id?: Array<string>,\n    q?: string,\n    name?: string,\n    baseDn?: string,\n    objclass?: string,\n    enabled?: boolean,\n    disabled?: boolean,\n    options?: any\n  ) {\n    return LDAPApiFp(this.configuration)\n      .searchLDAPTemplate(\n        catalogId,\n        page,\n        size,\n        fields,\n        sort,\n        id,\n        q,\n        name,\n        baseDn,\n        objclass,\n        enabled,\n        disabled,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary (ResyncLDAPResponse) {\n   * @param {string} catalogId REQUIRED. Parent LDAP catalog IDentifier\n   * @param {number} [page] ----- Select Options -------------------------  default: 1\n   * @param {number} [size] default: 16\n   * @param {Array<string>} [fields] attributes list\n   * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n   * @param {Array<string>} [id] ----- Search Basic Filters --------------------------- OPTIONAL. Search process by unique .id\n   * @param {string} [q] OPTIONAL. Filter(s) SET\n   * @param {string} [template]\n   * @param {Array<string>} [objclass]\n   * @param {boolean} [failed] WITH .errs\n   * @param {boolean} [enabled] created|updated\n   * @param {boolean} [disabled] deleted\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof LDAPApi\n   */\n  public searchLDAProcess(\n    catalogId: string,\n    page?: number,\n    size?: number,\n    fields?: Array<string>,\n    sort?: Array<string>,\n    id?: Array<string>,\n    q?: string,\n    template?: string,\n    objclass?: Array<string>,\n    failed?: boolean,\n    enabled?: boolean,\n    disabled?: boolean,\n    options?: any\n  ) {\n    return LDAPApiFp(this.configuration)\n      .searchLDAProcess(\n        catalogId,\n        page,\n        size,\n        fields,\n        sort,\n        id,\n        q,\n        template,\n        objclass,\n        failed,\n        enabled,\n        disabled,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update LDAP profile details\n   * @param {string} catalogId identity int64 dc &#x3D; 1;\n   * @param {ApiLDAPUpdateLDAPCatalogBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof LDAPApi\n   */\n  public updateLDAPCatalog(\n    catalogId: string,\n    body: ApiLDAPUpdateLDAPCatalogBody,\n    options?: any\n  ) {\n    return LDAPApiFp(this.configuration)\n      .updateLDAPCatalog(catalogId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update LDAP profile details\n   * @param {string} catalogId identity int64 dc &#x3D; 1;\n   * @param {ApiLDAPUpdateLDAPCatalogBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof LDAPApi\n   */\n  public updateLDAPCatalog2(\n    catalogId: string,\n    body: ApiLDAPUpdateLDAPCatalogBody,\n    options?: any\n  ) {\n    return LDAPApiFp(this.configuration)\n      .updateLDAPCatalog2(catalogId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} templateCatalogId identifier\n   * @param {string} templateId ID unique\n   * @param {ApiLDAPUpdateLDAPTemplateBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof LDAPApi\n   */\n  public updateLDAPTemplate(\n    templateCatalogId: string,\n    templateId: string,\n    body: ApiLDAPUpdateLDAPTemplateBody,\n    options?: any\n  ) {\n    return LDAPApiFp(this.configuration)\n      .updateLDAPTemplate(templateCatalogId, templateId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} templateCatalogId identifier\n   * @param {string} templateId ID unique\n   * @param {ApiLDAPUpdateLDAPTemplateBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof LDAPApi\n   */\n  public updateLDAPTemplate2(\n    templateCatalogId: string,\n    templateId: string,\n    body: ApiLDAPUpdateLDAPTemplateBody,\n    options?: any\n  ) {\n    return LDAPApiFp(this.configuration)\n      .updateLDAPTemplate2(templateCatalogId, templateId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { WebitelContactsInputLabel } from '../api'\n// @ts-ignore\nimport { WebitelContactsLabelList } from '../api'\n// @ts-ignore\nimport { WebitelContactsLabelTags } from '../api'\n/**\n * LabelsApi - axios parameter creator\n * @export\n */\nexport const LabelsApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Remove Contact Labels associations.\n     * @param {string} contactId Link contact ID.\n     * @param {Array<string>} etag Set of unique label(s).etag identifiers.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteLabels: async (\n      contactId: string,\n      etag: Array<string>,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling deleteLabels.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling deleteLabels.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/labels`.replace(\n        `{${'contact_id'}}`,\n        encodeURIComponent(String(contactId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (etag) {\n        localVarQueryParameter['etag'] = etag\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Search for Contacts engaged Label(s).\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; ((page-1)*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size+1)\n     * @param {string} [q] Search term: label. &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getLabels: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/contacts/labels`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Locate the Contact\\'s associated Label(s).\n     * @param {string} contactId Link contact ID.\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; ((page-1)*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size+1)\n     * @param {string} [q] Search term: label tag. &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {Array<string>} [id] Record(s) with unique ID or ETag.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listLabels: async (\n      contactId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling listLabels.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/labels`.replace(\n        `{${'contact_id'}}`,\n        encodeURIComponent(String(contactId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Associate NEW Labels to the Contact.\n     * @param {string} contactId Link contact ID.\n     * @param {Array<WebitelContactsInputLabel>} input Fixed set of label(s) to be linked with the contact. Label(s) that conflicts with already linked will be updated.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    mergeLabels: async (\n      contactId: string,\n      input: Array<WebitelContactsInputLabel>,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling mergeLabels.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling mergeLabels.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/labels`.replace(\n        `{${'contact_id'}}`,\n        encodeURIComponent(String(contactId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Reset Labels to fit the specified final set.\n     * @param {string} contactId Link contact ID.\n     * @param {Array<WebitelContactsInputLabel>} input Final set of labels(s) to be linked with the contact. Label(s) that are already linked with the contact but not given in here will be removed.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    resetLabels: async (\n      contactId: string,\n      input: Array<WebitelContactsInputLabel>,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling resetLabels.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling resetLabels.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/labels`.replace(\n        `{${'contact_id'}}`,\n        encodeURIComponent(String(contactId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * LabelsApi - functional programming interface\n * @export\n */\nexport const LabelsApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Remove Contact Labels associations.\n     * @param {string} contactId Link contact ID.\n     * @param {Array<string>} etag Set of unique label(s).etag identifiers.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteLabels(\n      contactId: string,\n      etag: Array<string>,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsLabelList>\n    > {\n      const localVarAxiosArgs = await LabelsApiAxiosParamCreator(\n        configuration\n      ).deleteLabels(contactId, etag, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Search for Contacts engaged Label(s).\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; ((page-1)*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size+1)\n     * @param {string} [q] Search term: label. &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getLabels(\n      page?: number,\n      size?: number,\n      q?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsLabelTags>\n    > {\n      const localVarAxiosArgs = await LabelsApiAxiosParamCreator(\n        configuration\n      ).getLabels(page, size, q, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Locate the Contact\\'s associated Label(s).\n     * @param {string} contactId Link contact ID.\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; ((page-1)*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size+1)\n     * @param {string} [q] Search term: label tag. &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {Array<string>} [id] Record(s) with unique ID or ETag.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async listLabels(\n      contactId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsLabelList>\n    > {\n      const localVarAxiosArgs = await LabelsApiAxiosParamCreator(\n        configuration\n      ).listLabels(contactId, page, size, q, sort, fields, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Associate NEW Labels to the Contact.\n     * @param {string} contactId Link contact ID.\n     * @param {Array<WebitelContactsInputLabel>} input Fixed set of label(s) to be linked with the contact. Label(s) that conflicts with already linked will be updated.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async mergeLabels(\n      contactId: string,\n      input: Array<WebitelContactsInputLabel>,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsLabelList>\n    > {\n      const localVarAxiosArgs = await LabelsApiAxiosParamCreator(\n        configuration\n      ).mergeLabels(contactId, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Reset Labels to fit the specified final set.\n     * @param {string} contactId Link contact ID.\n     * @param {Array<WebitelContactsInputLabel>} input Final set of labels(s) to be linked with the contact. Label(s) that are already linked with the contact but not given in here will be removed.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async resetLabels(\n      contactId: string,\n      input: Array<WebitelContactsInputLabel>,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsLabelList>\n    > {\n      const localVarAxiosArgs = await LabelsApiAxiosParamCreator(\n        configuration\n      ).resetLabels(contactId, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * LabelsApi - factory interface\n * @export\n */\nexport const LabelsApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Remove Contact Labels associations.\n     * @param {string} contactId Link contact ID.\n     * @param {Array<string>} etag Set of unique label(s).etag identifiers.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteLabels(\n      contactId: string,\n      etag: Array<string>,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsLabelList> {\n      return LabelsApiFp(configuration)\n        .deleteLabels(contactId, etag, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Search for Contacts engaged Label(s).\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; ((page-1)*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size+1)\n     * @param {string} [q] Search term: label. &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getLabels(\n      page?: number,\n      size?: number,\n      q?: string,\n      options?: any\n    ): AxiosPromise<WebitelContactsLabelTags> {\n      return LabelsApiFp(configuration)\n        .getLabels(page, size, q, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Locate the Contact\\'s associated Label(s).\n     * @param {string} contactId Link contact ID.\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; ((page-1)*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size+1)\n     * @param {string} [q] Search term: label tag. &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {Array<string>} [id] Record(s) with unique ID or ETag.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listLabels(\n      contactId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsLabelList> {\n      return LabelsApiFp(configuration)\n        .listLabels(contactId, page, size, q, sort, fields, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Associate NEW Labels to the Contact.\n     * @param {string} contactId Link contact ID.\n     * @param {Array<WebitelContactsInputLabel>} input Fixed set of label(s) to be linked with the contact. Label(s) that conflicts with already linked will be updated.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    mergeLabels(\n      contactId: string,\n      input: Array<WebitelContactsInputLabel>,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsLabelList> {\n      return LabelsApiFp(configuration)\n        .mergeLabels(contactId, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Reset Labels to fit the specified final set.\n     * @param {string} contactId Link contact ID.\n     * @param {Array<WebitelContactsInputLabel>} input Final set of labels(s) to be linked with the contact. Label(s) that are already linked with the contact but not given in here will be removed.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    resetLabels(\n      contactId: string,\n      input: Array<WebitelContactsInputLabel>,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsLabelList> {\n      return LabelsApiFp(configuration)\n        .resetLabels(contactId, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * LabelsApi - object-oriented interface\n * @export\n * @class LabelsApi\n * @extends {BaseAPI}\n */\nexport class LabelsApi extends BaseAPI {\n  /**\n   *\n   * @summary Remove Contact Labels associations.\n   * @param {string} contactId Link contact ID.\n   * @param {Array<string>} etag Set of unique label(s).etag identifiers.\n   * @param {Array<string>} [fields] Fields to be retrieved into result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof LabelsApi\n   */\n  public deleteLabels(\n    contactId: string,\n    etag: Array<string>,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return LabelsApiFp(this.configuration)\n      .deleteLabels(contactId, etag, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Search for Contacts engaged Label(s).\n   * @param {number} [page] Page number of result dataset records. offset &#x3D; ((page-1)*size)\n   * @param {number} [size] Size count of records on result page. limit &#x3D; (size+1)\n   * @param {string} [q] Search term: label. &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof LabelsApi\n   */\n  public getLabels(page?: number, size?: number, q?: string, options?: any) {\n    return LabelsApiFp(this.configuration)\n      .getLabels(page, size, q, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Locate the Contact\\'s associated Label(s).\n   * @param {string} contactId Link contact ID.\n   * @param {number} [page] Page number of result dataset records. offset &#x3D; ((page-1)*size)\n   * @param {number} [size] Size count of records on result page. limit &#x3D; (size+1)\n   * @param {string} [q] Search term: label tag. &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n   * @param {Array<string>} [sort] Sort the result according to fields.\n   * @param {Array<string>} [fields] Fields to be retrieved into result.\n   * @param {Array<string>} [id] Record(s) with unique ID or ETag.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof LabelsApi\n   */\n  public listLabels(\n    contactId: string,\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: Array<string>,\n    fields?: Array<string>,\n    id?: Array<string>,\n    options?: any\n  ) {\n    return LabelsApiFp(this.configuration)\n      .listLabels(contactId, page, size, q, sort, fields, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Associate NEW Labels to the Contact.\n   * @param {string} contactId Link contact ID.\n   * @param {Array<WebitelContactsInputLabel>} input Fixed set of label(s) to be linked with the contact. Label(s) that conflicts with already linked will be updated.\n   * @param {Array<string>} [fields] Fields to be retrieved into result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof LabelsApi\n   */\n  public mergeLabels(\n    contactId: string,\n    input: Array<WebitelContactsInputLabel>,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return LabelsApiFp(this.configuration)\n      .mergeLabels(contactId, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Reset Labels to fit the specified final set.\n   * @param {string} contactId Link contact ID.\n   * @param {Array<WebitelContactsInputLabel>} input Final set of labels(s) to be linked with the contact. Label(s) that are already linked with the contact but not given in here will be removed.\n   * @param {Array<string>} [fields] Fields to be retrieved into result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof LabelsApi\n   */\n  public resetLabels(\n    contactId: string,\n    input: Array<WebitelContactsInputLabel>,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return LabelsApiFp(this.configuration)\n      .resetLabels(contactId, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { EngineCreateListRequest } from '../api'\n// @ts-ignore\nimport { EngineList } from '../api'\n// @ts-ignore\nimport { EngineListCommunication } from '../api'\n// @ts-ignore\nimport { EngineListOfList } from '../api'\n// @ts-ignore\nimport { EngineListOfListCommunication } from '../api'\n// @ts-ignore\nimport { EngineListServiceCreateListCommunicationBody } from '../api'\n// @ts-ignore\nimport { EngineListServiceUpdateListBody } from '../api'\n// @ts-ignore\nimport { EngineListServiceUpdateListCommunicationBody } from '../api'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n/**\n * ListServiceApi - axios parameter creator\n * @export\n */\nexport const ListServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create List\n     * @param {EngineCreateListRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createList: async (\n      body: EngineCreateListRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createList.'\n        )\n      }\n      const localVarPath = `/call_center/list`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Create ListCommunication\n     * @param {string} listId\n     * @param {EngineListServiceCreateListCommunicationBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createListCommunication: async (\n      listId: string,\n      body: EngineListServiceCreateListCommunicationBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'listId' is not null or undefined\n      if (listId === null || listId === undefined) {\n        throw new RequiredError(\n          'listId',\n          'Required parameter listId was null or undefined when calling createListCommunication.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createListCommunication.'\n        )\n      }\n      const localVarPath = `/call_center/list/{list_id}/communication`.replace(\n        `{${'list_id'}}`,\n        encodeURIComponent(String(listId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Remove list\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteList: async (\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteList.'\n        )\n      }\n      const localVarPath = `/call_center/list/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Remove ListCommunication\n     * @param {string} listId\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteListCommunication: async (\n      listId: string,\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'listId' is not null or undefined\n      if (listId === null || listId === undefined) {\n        throw new RequiredError(\n          'listId',\n          'Required parameter listId was null or undefined when calling deleteListCommunication.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteListCommunication.'\n        )\n      }\n      const localVarPath = `/call_center/list/{list_id}/communication/{id}`\n        .replace(`{${'list_id'}}`, encodeURIComponent(String(listId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary List item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readList: async (\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readList.'\n        )\n      }\n      const localVarPath = `/call_center/list/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary List item\n     * @param {string} listId\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readListCommunication: async (\n      listId: string,\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'listId' is not null or undefined\n      if (listId === null || listId === undefined) {\n        throw new RequiredError(\n          'listId',\n          'Required parameter listId was null or undefined when calling readListCommunication.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readListCommunication.'\n        )\n      }\n      const localVarPath = `/call_center/list/{list_id}/communication/{id}`\n        .replace(`{${'list_id'}}`, encodeURIComponent(String(listId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary List of List\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchList: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/call_center/list`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary List of List\n     * @param {string} listId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {string} [expireAtFrom]\n     * @param {string} [expireAtTo]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchListCommunication: async (\n      listId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      expireAtFrom?: string,\n      expireAtTo?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'listId' is not null or undefined\n      if (listId === null || listId === undefined) {\n        throw new RequiredError(\n          'listId',\n          'Required parameter listId was null or undefined when calling searchListCommunication.'\n        )\n      }\n      const localVarPath = `/call_center/list/{list_id}/communication`.replace(\n        `{${'list_id'}}`,\n        encodeURIComponent(String(listId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (expireAtFrom !== undefined) {\n        localVarQueryParameter['expire_at.from'] = expireAtFrom\n      }\n\n      if (expireAtTo !== undefined) {\n        localVarQueryParameter['expire_at.to'] = expireAtTo\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update list\n     * @param {string} id\n     * @param {EngineListServiceUpdateListBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateList: async (\n      id: string,\n      body: EngineListServiceUpdateListBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateList.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateList.'\n        )\n      }\n      const localVarPath = `/call_center/list/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update ListCommunication\n     * @param {string} listId\n     * @param {string} id\n     * @param {EngineListServiceUpdateListCommunicationBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateListCommunication: async (\n      listId: string,\n      id: string,\n      body: EngineListServiceUpdateListCommunicationBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'listId' is not null or undefined\n      if (listId === null || listId === undefined) {\n        throw new RequiredError(\n          'listId',\n          'Required parameter listId was null or undefined when calling updateListCommunication.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateListCommunication.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateListCommunication.'\n        )\n      }\n      const localVarPath = `/call_center/list/{list_id}/communication/{id}`\n        .replace(`{${'list_id'}}`, encodeURIComponent(String(listId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * ListServiceApi - functional programming interface\n * @export\n */\nexport const ListServiceApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Create List\n     * @param {EngineCreateListRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createList(\n      body: EngineCreateListRequest,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineList>\n    > {\n      const localVarAxiosArgs = await ListServiceApiAxiosParamCreator(\n        configuration\n      ).createList(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Create ListCommunication\n     * @param {string} listId\n     * @param {EngineListServiceCreateListCommunicationBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createListCommunication(\n      listId: string,\n      body: EngineListServiceCreateListCommunicationBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListCommunication>\n    > {\n      const localVarAxiosArgs = await ListServiceApiAxiosParamCreator(\n        configuration\n      ).createListCommunication(listId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Remove list\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteList(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineList>\n    > {\n      const localVarAxiosArgs = await ListServiceApiAxiosParamCreator(\n        configuration\n      ).deleteList(id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Remove ListCommunication\n     * @param {string} listId\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteListCommunication(\n      listId: string,\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListCommunication>\n    > {\n      const localVarAxiosArgs = await ListServiceApiAxiosParamCreator(\n        configuration\n      ).deleteListCommunication(listId, id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary List item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readList(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineList>\n    > {\n      const localVarAxiosArgs = await ListServiceApiAxiosParamCreator(\n        configuration\n      ).readList(id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary List item\n     * @param {string} listId\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readListCommunication(\n      listId: string,\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListCommunication>\n    > {\n      const localVarAxiosArgs = await ListServiceApiAxiosParamCreator(\n        configuration\n      ).readListCommunication(listId, id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary List of List\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchList(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListOfList>\n    > {\n      const localVarAxiosArgs = await ListServiceApiAxiosParamCreator(\n        configuration\n      ).searchList(page, size, q, sort, fields, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary List of List\n     * @param {string} listId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {string} [expireAtFrom]\n     * @param {string} [expireAtTo]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchListCommunication(\n      listId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      expireAtFrom?: string,\n      expireAtTo?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListOfListCommunication>\n    > {\n      const localVarAxiosArgs = await ListServiceApiAxiosParamCreator(\n        configuration\n      ).searchListCommunication(\n        listId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        expireAtFrom,\n        expireAtTo,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update list\n     * @param {string} id\n     * @param {EngineListServiceUpdateListBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateList(\n      id: string,\n      body: EngineListServiceUpdateListBody,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineList>\n    > {\n      const localVarAxiosArgs = await ListServiceApiAxiosParamCreator(\n        configuration\n      ).updateList(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update ListCommunication\n     * @param {string} listId\n     * @param {string} id\n     * @param {EngineListServiceUpdateListCommunicationBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateListCommunication(\n      listId: string,\n      id: string,\n      body: EngineListServiceUpdateListCommunicationBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListCommunication>\n    > {\n      const localVarAxiosArgs = await ListServiceApiAxiosParamCreator(\n        configuration\n      ).updateListCommunication(listId, id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * ListServiceApi - factory interface\n * @export\n */\nexport const ListServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Create List\n     * @param {EngineCreateListRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createList(\n      body: EngineCreateListRequest,\n      options?: any\n    ): AxiosPromise<EngineList> {\n      return ListServiceApiFp(configuration)\n        .createList(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Create ListCommunication\n     * @param {string} listId\n     * @param {EngineListServiceCreateListCommunicationBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createListCommunication(\n      listId: string,\n      body: EngineListServiceCreateListCommunicationBody,\n      options?: any\n    ): AxiosPromise<EngineListCommunication> {\n      return ListServiceApiFp(configuration)\n        .createListCommunication(listId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Remove list\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteList(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineList> {\n      return ListServiceApiFp(configuration)\n        .deleteList(id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Remove ListCommunication\n     * @param {string} listId\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteListCommunication(\n      listId: string,\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineListCommunication> {\n      return ListServiceApiFp(configuration)\n        .deleteListCommunication(listId, id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary List item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readList(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineList> {\n      return ListServiceApiFp(configuration)\n        .readList(id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary List item\n     * @param {string} listId\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readListCommunication(\n      listId: string,\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineListCommunication> {\n      return ListServiceApiFp(configuration)\n        .readListCommunication(listId, id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary List of List\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchList(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options?: any\n    ): AxiosPromise<EngineListOfList> {\n      return ListServiceApiFp(configuration)\n        .searchList(page, size, q, sort, fields, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary List of List\n     * @param {string} listId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {string} [expireAtFrom]\n     * @param {string} [expireAtTo]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchListCommunication(\n      listId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      expireAtFrom?: string,\n      expireAtTo?: string,\n      options?: any\n    ): AxiosPromise<EngineListOfListCommunication> {\n      return ListServiceApiFp(configuration)\n        .searchListCommunication(\n          listId,\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          id,\n          expireAtFrom,\n          expireAtTo,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update list\n     * @param {string} id\n     * @param {EngineListServiceUpdateListBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateList(\n      id: string,\n      body: EngineListServiceUpdateListBody,\n      options?: any\n    ): AxiosPromise<EngineList> {\n      return ListServiceApiFp(configuration)\n        .updateList(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update ListCommunication\n     * @param {string} listId\n     * @param {string} id\n     * @param {EngineListServiceUpdateListCommunicationBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateListCommunication(\n      listId: string,\n      id: string,\n      body: EngineListServiceUpdateListCommunicationBody,\n      options?: any\n    ): AxiosPromise<EngineListCommunication> {\n      return ListServiceApiFp(configuration)\n        .updateListCommunication(listId, id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * ListServiceApi - object-oriented interface\n * @export\n * @class ListServiceApi\n * @extends {BaseAPI}\n */\nexport class ListServiceApi extends BaseAPI {\n  /**\n   *\n   * @summary Create List\n   * @param {EngineCreateListRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ListServiceApi\n   */\n  public createList(body: EngineCreateListRequest, options?: any) {\n    return ListServiceApiFp(this.configuration)\n      .createList(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Create ListCommunication\n   * @param {string} listId\n   * @param {EngineListServiceCreateListCommunicationBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ListServiceApi\n   */\n  public createListCommunication(\n    listId: string,\n    body: EngineListServiceCreateListCommunicationBody,\n    options?: any\n  ) {\n    return ListServiceApiFp(this.configuration)\n      .createListCommunication(listId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Remove list\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ListServiceApi\n   */\n  public deleteList(id: string, domainId?: string, options?: any) {\n    return ListServiceApiFp(this.configuration)\n      .deleteList(id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Remove ListCommunication\n   * @param {string} listId\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ListServiceApi\n   */\n  public deleteListCommunication(\n    listId: string,\n    id: string,\n    domainId?: string,\n    options?: any\n  ) {\n    return ListServiceApiFp(this.configuration)\n      .deleteListCommunication(listId, id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary List item\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ListServiceApi\n   */\n  public readList(id: string, domainId?: string, options?: any) {\n    return ListServiceApiFp(this.configuration)\n      .readList(id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary List item\n   * @param {string} listId\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ListServiceApi\n   */\n  public readListCommunication(\n    listId: string,\n    id: string,\n    domainId?: string,\n    options?: any\n  ) {\n    return ListServiceApiFp(this.configuration)\n      .readListCommunication(listId, id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary List of List\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<number>} [id]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ListServiceApi\n   */\n  public searchList(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<number>,\n    options?: any\n  ) {\n    return ListServiceApiFp(this.configuration)\n      .searchList(page, size, q, sort, fields, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary List of List\n   * @param {string} listId\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<number>} [id]\n   * @param {string} [expireAtFrom]\n   * @param {string} [expireAtTo]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ListServiceApi\n   */\n  public searchListCommunication(\n    listId: string,\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<number>,\n    expireAtFrom?: string,\n    expireAtTo?: string,\n    options?: any\n  ) {\n    return ListServiceApiFp(this.configuration)\n      .searchListCommunication(\n        listId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        expireAtFrom,\n        expireAtTo,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update list\n   * @param {string} id\n   * @param {EngineListServiceUpdateListBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ListServiceApi\n   */\n  public updateList(\n    id: string,\n    body: EngineListServiceUpdateListBody,\n    options?: any\n  ) {\n    return ListServiceApiFp(this.configuration)\n      .updateList(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update ListCommunication\n   * @param {string} listId\n   * @param {string} id\n   * @param {EngineListServiceUpdateListCommunicationBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ListServiceApi\n   */\n  public updateListCommunication(\n    listId: string,\n    id: string,\n    body: EngineListServiceUpdateListCommunicationBody,\n    options?: any\n  ) {\n    return ListServiceApiFp(this.configuration)\n      .updateListCommunication(listId, id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { LoggerLogs } from '../api'\n// @ts-ignore\nimport { RpcStatus } from '../api'\n/**\n * LoggerServiceApi - axios parameter creator\n * @export\n */\nexport const LoggerServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {number} configId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [userId]\n     * @param {Array<'default_no_action' | 'create' | 'update' | 'read' | 'delete'>} [action]\n     * @param {string} [userIp]\n     * @param {string} [dateFrom]\n     * @param {string} [dateTo]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchLogByConfigId: async (\n      configId: number,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      userId?: Array<string>,\n      action?: Array<\n        'default_no_action' | 'create' | 'update' | 'read' | 'delete'\n      >,\n      userIp?: string,\n      dateFrom?: string,\n      dateTo?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'configId' is not null or undefined\n      if (configId === null || configId === undefined) {\n        throw new RequiredError(\n          'configId',\n          'Required parameter configId was null or undefined when calling searchLogByConfigId.'\n        )\n      }\n      const localVarPath = `/logger/config/{config_id}/logs`.replace(\n        `{${'config_id'}}`,\n        encodeURIComponent(String(configId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (userId) {\n        localVarQueryParameter['user_id'] = userId\n      }\n\n      if (action) {\n        localVarQueryParameter['action'] = action\n      }\n\n      if (userIp !== undefined) {\n        localVarQueryParameter['user_ip'] = userIp\n      }\n\n      if (dateFrom !== undefined) {\n        localVarQueryParameter['date_from'] = dateFrom\n      }\n\n      if (dateTo !== undefined) {\n        localVarQueryParameter['date_to'] = dateTo\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {'cc_queue' | 'schema' | 'users' | 'devices' | 'calendars' | 'cc_list' | 'cc_team' | 'cc_agent' | 'cc_resource' | 'cc_resource_group' | 'chat_bots' | 'cases' | 'contacts' | 'cc_list_number' | 'case_comments' | 'record_file'} object SPECIFIC filter\n     * @param {number} recordId REQUIRED filter\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<'default_no_action' | 'create' | 'update' | 'read' | 'delete'>} [action] GENERAL filters\n     * @param {Array<string>} [userId]\n     * @param {string} [userIp]\n     * @param {string} [dateFrom]\n     * @param {string} [dateTo]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchLogByRecordId: async (\n      object:\n        | 'cc_queue'\n        | 'schema'\n        | 'users'\n        | 'devices'\n        | 'calendars'\n        | 'cc_list'\n        | 'cc_team'\n        | 'cc_agent'\n        | 'cc_resource'\n        | 'cc_resource_group'\n        | 'chat_bots'\n        | 'cases'\n        | 'contacts'\n        | 'cc_list_number'\n        | 'case_comments'\n        | 'record_file',\n      recordId: number,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      action?: Array<\n        'default_no_action' | 'create' | 'update' | 'read' | 'delete'\n      >,\n      userId?: Array<string>,\n      userIp?: string,\n      dateFrom?: string,\n      dateTo?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'object' is not null or undefined\n      if (object === null || object === undefined) {\n        throw new RequiredError(\n          'object',\n          'Required parameter object was null or undefined when calling searchLogByRecordId.'\n        )\n      }\n      // verify required parameter 'recordId' is not null or undefined\n      if (recordId === null || recordId === undefined) {\n        throw new RequiredError(\n          'recordId',\n          'Required parameter recordId was null or undefined when calling searchLogByRecordId.'\n        )\n      }\n      const localVarPath = `/logger/{object}/record/{record_id}/logs`\n        .replace(`{${'object'}}`, encodeURIComponent(String(object)))\n        .replace(`{${'record_id'}}`, encodeURIComponent(String(recordId)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (action) {\n        localVarQueryParameter['action'] = action\n      }\n\n      if (userId) {\n        localVarQueryParameter['user_id'] = userId\n      }\n\n      if (userIp !== undefined) {\n        localVarQueryParameter['user_ip'] = userIp\n      }\n\n      if (dateFrom !== undefined) {\n        localVarQueryParameter['date_from'] = dateFrom\n      }\n\n      if (dateTo !== undefined) {\n        localVarQueryParameter['date_to'] = dateTo\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} userId REQUIRED filter\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [objectId] SPECIFIC filter\n     * @param {Array<'default_no_action' | 'create' | 'update' | 'read' | 'delete'>} [action] GENERAL filters\n     * @param {string} [userIp]\n     * @param {string} [dateFrom]\n     * @param {string} [dateTo]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchLogByUserId: async (\n      userId: number,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      objectId?: Array<string>,\n      action?: Array<\n        'default_no_action' | 'create' | 'update' | 'read' | 'delete'\n      >,\n      userIp?: string,\n      dateFrom?: string,\n      dateTo?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'userId' is not null or undefined\n      if (userId === null || userId === undefined) {\n        throw new RequiredError(\n          'userId',\n          'Required parameter userId was null or undefined when calling searchLogByUserId.'\n        )\n      }\n      const localVarPath = `/logger/user/{user_id}/logs`.replace(\n        `{${'user_id'}}`,\n        encodeURIComponent(String(userId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (objectId) {\n        localVarQueryParameter['object_id'] = objectId\n      }\n\n      if (action) {\n        localVarQueryParameter['action'] = action\n      }\n\n      if (userIp !== undefined) {\n        localVarQueryParameter['user_ip'] = userIp\n      }\n\n      if (dateFrom !== undefined) {\n        localVarQueryParameter['date_from'] = dateFrom\n      }\n\n      if (dateTo !== undefined) {\n        localVarQueryParameter['date_to'] = dateTo\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * LoggerServiceApi - functional programming interface\n * @export\n */\nexport const LoggerServiceApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @param {number} configId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [userId]\n     * @param {Array<'default_no_action' | 'create' | 'update' | 'read' | 'delete'>} [action]\n     * @param {string} [userIp]\n     * @param {string} [dateFrom]\n     * @param {string} [dateTo]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchLogByConfigId(\n      configId: number,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      userId?: Array<string>,\n      action?: Array<\n        'default_no_action' | 'create' | 'update' | 'read' | 'delete'\n      >,\n      userIp?: string,\n      dateFrom?: string,\n      dateTo?: string,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<LoggerLogs>\n    > {\n      const localVarAxiosArgs = await LoggerServiceApiAxiosParamCreator(\n        configuration\n      ).searchLogByConfigId(\n        configId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        userId,\n        action,\n        userIp,\n        dateFrom,\n        dateTo,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {'cc_queue' | 'schema' | 'users' | 'devices' | 'calendars' | 'cc_list' | 'cc_team' | 'cc_agent' | 'cc_resource' | 'cc_resource_group' | 'chat_bots' | 'cases' | 'contacts' | 'cc_list_number' | 'case_comments' | 'record_file'} object SPECIFIC filter\n     * @param {number} recordId REQUIRED filter\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<'default_no_action' | 'create' | 'update' | 'read' | 'delete'>} [action] GENERAL filters\n     * @param {Array<string>} [userId]\n     * @param {string} [userIp]\n     * @param {string} [dateFrom]\n     * @param {string} [dateTo]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchLogByRecordId(\n      object:\n        | 'cc_queue'\n        | 'schema'\n        | 'users'\n        | 'devices'\n        | 'calendars'\n        | 'cc_list'\n        | 'cc_team'\n        | 'cc_agent'\n        | 'cc_resource'\n        | 'cc_resource_group'\n        | 'chat_bots'\n        | 'cases'\n        | 'contacts'\n        | 'cc_list_number'\n        | 'case_comments'\n        | 'record_file',\n      recordId: number,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      action?: Array<\n        'default_no_action' | 'create' | 'update' | 'read' | 'delete'\n      >,\n      userId?: Array<string>,\n      userIp?: string,\n      dateFrom?: string,\n      dateTo?: string,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<LoggerLogs>\n    > {\n      const localVarAxiosArgs = await LoggerServiceApiAxiosParamCreator(\n        configuration\n      ).searchLogByRecordId(\n        object,\n        recordId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        action,\n        userId,\n        userIp,\n        dateFrom,\n        dateTo,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} userId REQUIRED filter\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [objectId] SPECIFIC filter\n     * @param {Array<'default_no_action' | 'create' | 'update' | 'read' | 'delete'>} [action] GENERAL filters\n     * @param {string} [userIp]\n     * @param {string} [dateFrom]\n     * @param {string} [dateTo]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchLogByUserId(\n      userId: number,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      objectId?: Array<string>,\n      action?: Array<\n        'default_no_action' | 'create' | 'update' | 'read' | 'delete'\n      >,\n      userIp?: string,\n      dateFrom?: string,\n      dateTo?: string,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<LoggerLogs>\n    > {\n      const localVarAxiosArgs = await LoggerServiceApiAxiosParamCreator(\n        configuration\n      ).searchLogByUserId(\n        userId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        objectId,\n        action,\n        userIp,\n        dateFrom,\n        dateTo,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * LoggerServiceApi - factory interface\n * @export\n */\nexport const LoggerServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {number} configId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [userId]\n     * @param {Array<'default_no_action' | 'create' | 'update' | 'read' | 'delete'>} [action]\n     * @param {string} [userIp]\n     * @param {string} [dateFrom]\n     * @param {string} [dateTo]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchLogByConfigId(\n      configId: number,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      userId?: Array<string>,\n      action?: Array<\n        'default_no_action' | 'create' | 'update' | 'read' | 'delete'\n      >,\n      userIp?: string,\n      dateFrom?: string,\n      dateTo?: string,\n      options?: any\n    ): AxiosPromise<LoggerLogs> {\n      return LoggerServiceApiFp(configuration)\n        .searchLogByConfigId(\n          configId,\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          userId,\n          action,\n          userIp,\n          dateFrom,\n          dateTo,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {'cc_queue' | 'schema' | 'users' | 'devices' | 'calendars' | 'cc_list' | 'cc_team' | 'cc_agent' | 'cc_resource' | 'cc_resource_group' | 'chat_bots' | 'cases' | 'contacts' | 'cc_list_number' | 'case_comments' | 'record_file'} object SPECIFIC filter\n     * @param {number} recordId REQUIRED filter\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<'default_no_action' | 'create' | 'update' | 'read' | 'delete'>} [action] GENERAL filters\n     * @param {Array<string>} [userId]\n     * @param {string} [userIp]\n     * @param {string} [dateFrom]\n     * @param {string} [dateTo]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchLogByRecordId(\n      object:\n        | 'cc_queue'\n        | 'schema'\n        | 'users'\n        | 'devices'\n        | 'calendars'\n        | 'cc_list'\n        | 'cc_team'\n        | 'cc_agent'\n        | 'cc_resource'\n        | 'cc_resource_group'\n        | 'chat_bots'\n        | 'cases'\n        | 'contacts'\n        | 'cc_list_number'\n        | 'case_comments'\n        | 'record_file',\n      recordId: number,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      action?: Array<\n        'default_no_action' | 'create' | 'update' | 'read' | 'delete'\n      >,\n      userId?: Array<string>,\n      userIp?: string,\n      dateFrom?: string,\n      dateTo?: string,\n      options?: any\n    ): AxiosPromise<LoggerLogs> {\n      return LoggerServiceApiFp(configuration)\n        .searchLogByRecordId(\n          object,\n          recordId,\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          action,\n          userId,\n          userIp,\n          dateFrom,\n          dateTo,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} userId REQUIRED filter\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [objectId] SPECIFIC filter\n     * @param {Array<'default_no_action' | 'create' | 'update' | 'read' | 'delete'>} [action] GENERAL filters\n     * @param {string} [userIp]\n     * @param {string} [dateFrom]\n     * @param {string} [dateTo]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchLogByUserId(\n      userId: number,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      objectId?: Array<string>,\n      action?: Array<\n        'default_no_action' | 'create' | 'update' | 'read' | 'delete'\n      >,\n      userIp?: string,\n      dateFrom?: string,\n      dateTo?: string,\n      options?: any\n    ): AxiosPromise<LoggerLogs> {\n      return LoggerServiceApiFp(configuration)\n        .searchLogByUserId(\n          userId,\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          objectId,\n          action,\n          userIp,\n          dateFrom,\n          dateTo,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * LoggerServiceApi - object-oriented interface\n * @export\n * @class LoggerServiceApi\n * @extends {BaseAPI}\n */\nexport class LoggerServiceApi extends BaseAPI {\n  /**\n   *\n   * @param {number} configId\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<string>} [userId]\n   * @param {Array<'default_no_action' | 'create' | 'update' | 'read' | 'delete'>} [action]\n   * @param {string} [userIp]\n   * @param {string} [dateFrom]\n   * @param {string} [dateTo]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof LoggerServiceApi\n   */\n  public searchLogByConfigId(\n    configId: number,\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    userId?: Array<string>,\n    action?: Array<\n      'default_no_action' | 'create' | 'update' | 'read' | 'delete'\n    >,\n    userIp?: string,\n    dateFrom?: string,\n    dateTo?: string,\n    options?: any\n  ) {\n    return LoggerServiceApiFp(this.configuration)\n      .searchLogByConfigId(\n        configId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        userId,\n        action,\n        userIp,\n        dateFrom,\n        dateTo,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {'cc_queue' | 'schema' | 'users' | 'devices' | 'calendars' | 'cc_list' | 'cc_team' | 'cc_agent' | 'cc_resource' | 'cc_resource_group' | 'chat_bots' | 'cases' | 'contacts' | 'cc_list_number' | 'case_comments' | 'record_file'} object SPECIFIC filter\n   * @param {number} recordId REQUIRED filter\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<'default_no_action' | 'create' | 'update' | 'read' | 'delete'>} [action] GENERAL filters\n   * @param {Array<string>} [userId]\n   * @param {string} [userIp]\n   * @param {string} [dateFrom]\n   * @param {string} [dateTo]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof LoggerServiceApi\n   */\n  public searchLogByRecordId(\n    object:\n      | 'cc_queue'\n      | 'schema'\n      | 'users'\n      | 'devices'\n      | 'calendars'\n      | 'cc_list'\n      | 'cc_team'\n      | 'cc_agent'\n      | 'cc_resource'\n      | 'cc_resource_group'\n      | 'chat_bots'\n      | 'cases'\n      | 'contacts'\n      | 'cc_list_number'\n      | 'case_comments'\n      | 'record_file',\n    recordId: number,\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    action?: Array<\n      'default_no_action' | 'create' | 'update' | 'read' | 'delete'\n    >,\n    userId?: Array<string>,\n    userIp?: string,\n    dateFrom?: string,\n    dateTo?: string,\n    options?: any\n  ) {\n    return LoggerServiceApiFp(this.configuration)\n      .searchLogByRecordId(\n        object,\n        recordId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        action,\n        userId,\n        userIp,\n        dateFrom,\n        dateTo,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} userId REQUIRED filter\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<string>} [objectId] SPECIFIC filter\n   * @param {Array<'default_no_action' | 'create' | 'update' | 'read' | 'delete'>} [action] GENERAL filters\n   * @param {string} [userIp]\n   * @param {string} [dateFrom]\n   * @param {string} [dateTo]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof LoggerServiceApi\n   */\n  public searchLogByUserId(\n    userId: number,\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    objectId?: Array<string>,\n    action?: Array<\n      'default_no_action' | 'create' | 'update' | 'read' | 'delete'\n    >,\n    userIp?: string,\n    dateFrom?: string,\n    dateTo?: string,\n    options?: any\n  ) {\n    return LoggerServiceApiFp(this.configuration)\n      .searchLogByUserId(\n        userId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        objectId,\n        action,\n        userIp,\n        dateFrom,\n        dateTo,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { NEWUpdateOfTheManagerLink } from '../api'\n// @ts-ignore\nimport { NEWUpdateOfTheManagerLink1 } from '../api'\n// @ts-ignore\nimport { WebitelContactsInputManager } from '../api'\n// @ts-ignore\nimport { WebitelContactsManager } from '../api'\n// @ts-ignore\nimport { WebitelContactsManagerList } from '../api'\n/**\n * ManagersApi - axios parameter creator\n * @export\n */\nexport const ManagersApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Remove the contact\\'s manager address link\n     * @param {string} contactId Contact ID associated with.\n     * @param {string} etag Unique ID to remove.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteManager: async (\n      contactId: string,\n      etag: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling deleteManager.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling deleteManager.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/managers/{etag}`\n        .replace(`{${'contact_id'}}`, encodeURIComponent(String(contactId)))\n        .replace(`{${'etag'}}`, encodeURIComponent(String(etag)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Remove Contact Managers associations.\n     * @param {string} contactId Contact ID associated with.\n     * @param {Array<string>} etag Set of unique ID(s) to remove.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteManagers: async (\n      contactId: string,\n      etag: Array<string>,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling deleteManagers.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling deleteManagers.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/managers`.replace(\n        `{${'contact_id'}}`,\n        encodeURIComponent(String(contactId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (etag) {\n        localVarQueryParameter['etag'] = etag\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Search the Contact\\'s Managers.\n     * @param {string} contactId Contact ID associated with.\n     * @param {number} [page] Page number of result. offset &#x3D; ((page-1)*size)\n     * @param {number} [size] Size of result page. limit &#x3D; (size++)\n     * @param {string} [q] Search term: user name; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {Array<string>} [id] Record(s) with unique ID only.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listManagers: async (\n      contactId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling listManagers.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/managers`.replace(\n        `{${'contact_id'}}`,\n        encodeURIComponent(String(contactId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Locate the manager address link.\n     * @param {string} contactId Contact source ID.\n     * @param {string} etag Unique manager link IDentifier. Accept: &#x60;etag&#x60; (obsolete+) or &#x60;id&#x60;.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateManager: async (\n      contactId: string,\n      etag: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling locateManager.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling locateManager.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/managers/{etag}`\n        .replace(`{${'contact_id'}}`, encodeURIComponent(String(contactId)))\n        .replace(`{${'etag'}}`, encodeURIComponent(String(etag)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Associate new Managers to the Contact.\n     * @param {string} contactId Link contact ID.\n     * @param {Array<WebitelContactsInputManager>} input Array of the unique User(s) to associate with the Contact. Any duplicate of an already linked user{id} will result in an error.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    mergeManagers: async (\n      contactId: string,\n      input: Array<WebitelContactsInputManager>,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling mergeManagers.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling mergeManagers.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/managers`.replace(\n        `{${'contact_id'}}`,\n        encodeURIComponent(String(contactId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Reset Managers to fit the specified final set.\n     * @param {string} contactId Contact ID associated with.\n     * @param {Array<WebitelContactsInputManager>} input Final set of unique User(s) to be linked with the Contact. User(s) that are already linked with the Contact but not listed here will be removed. The first element will become &#x60;primary&#x60; if no other specified.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    resetManagers: async (\n      contactId: string,\n      input: Array<WebitelContactsInputManager>,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling resetManagers.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling resetManagers.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/managers`.replace(\n        `{${'contact_id'}}`,\n        encodeURIComponent(String(contactId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update the contact\\'s manager address link details\n     * @param {string} contactId Link contact ID.\n     * @param {string} etag Unique ID of the latest version of an existing resource.\n     * @param {NEWUpdateOfTheManagerLink} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateManager: async (\n      contactId: string,\n      etag: string,\n      input: NEWUpdateOfTheManagerLink,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling updateManager.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling updateManager.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateManager.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/managers/{etag}`\n        .replace(`{${'contact_id'}}`, encodeURIComponent(String(contactId)))\n        .replace(`{${'etag'}}`, encodeURIComponent(String(etag)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update the contact\\'s manager address link details\n     * @param {string} contactId Link contact ID.\n     * @param {string} etag Unique ID of the latest version of an existing resource.\n     * @param {NEWUpdateOfTheManagerLink1} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateManager2: async (\n      contactId: string,\n      etag: string,\n      input: NEWUpdateOfTheManagerLink1,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling updateManager2.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling updateManager2.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateManager2.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/managers/{etag}`\n        .replace(`{${'contact_id'}}`, encodeURIComponent(String(contactId)))\n        .replace(`{${'etag'}}`, encodeURIComponent(String(etag)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * ManagersApi - functional programming interface\n * @export\n */\nexport const ManagersApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Remove the contact\\'s manager address link\n     * @param {string} contactId Contact ID associated with.\n     * @param {string} etag Unique ID to remove.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteManager(\n      contactId: string,\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsManager>\n    > {\n      const localVarAxiosArgs = await ManagersApiAxiosParamCreator(\n        configuration\n      ).deleteManager(contactId, etag, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Remove Contact Managers associations.\n     * @param {string} contactId Contact ID associated with.\n     * @param {Array<string>} etag Set of unique ID(s) to remove.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteManagers(\n      contactId: string,\n      etag: Array<string>,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<Array<WebitelContactsManager>>\n    > {\n      const localVarAxiosArgs = await ManagersApiAxiosParamCreator(\n        configuration\n      ).deleteManagers(contactId, etag, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Search the Contact\\'s Managers.\n     * @param {string} contactId Contact ID associated with.\n     * @param {number} [page] Page number of result. offset &#x3D; ((page-1)*size)\n     * @param {number} [size] Size of result page. limit &#x3D; (size++)\n     * @param {string} [q] Search term: user name; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {Array<string>} [id] Record(s) with unique ID only.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async listManagers(\n      contactId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsManagerList>\n    > {\n      const localVarAxiosArgs = await ManagersApiAxiosParamCreator(\n        configuration\n      ).listManagers(contactId, page, size, q, sort, fields, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Locate the manager address link.\n     * @param {string} contactId Contact source ID.\n     * @param {string} etag Unique manager link IDentifier. Accept: &#x60;etag&#x60; (obsolete+) or &#x60;id&#x60;.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async locateManager(\n      contactId: string,\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsManager>\n    > {\n      const localVarAxiosArgs = await ManagersApiAxiosParamCreator(\n        configuration\n      ).locateManager(contactId, etag, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Associate new Managers to the Contact.\n     * @param {string} contactId Link contact ID.\n     * @param {Array<WebitelContactsInputManager>} input Array of the unique User(s) to associate with the Contact. Any duplicate of an already linked user{id} will result in an error.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async mergeManagers(\n      contactId: string,\n      input: Array<WebitelContactsInputManager>,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsManagerList>\n    > {\n      const localVarAxiosArgs = await ManagersApiAxiosParamCreator(\n        configuration\n      ).mergeManagers(contactId, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Reset Managers to fit the specified final set.\n     * @param {string} contactId Contact ID associated with.\n     * @param {Array<WebitelContactsInputManager>} input Final set of unique User(s) to be linked with the Contact. User(s) that are already linked with the Contact but not listed here will be removed. The first element will become &#x60;primary&#x60; if no other specified.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async resetManagers(\n      contactId: string,\n      input: Array<WebitelContactsInputManager>,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsManagerList>\n    > {\n      const localVarAxiosArgs = await ManagersApiAxiosParamCreator(\n        configuration\n      ).resetManagers(contactId, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update the contact\\'s manager address link details\n     * @param {string} contactId Link contact ID.\n     * @param {string} etag Unique ID of the latest version of an existing resource.\n     * @param {NEWUpdateOfTheManagerLink} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateManager(\n      contactId: string,\n      etag: string,\n      input: NEWUpdateOfTheManagerLink,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsManagerList>\n    > {\n      const localVarAxiosArgs = await ManagersApiAxiosParamCreator(\n        configuration\n      ).updateManager(contactId, etag, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update the contact\\'s manager address link details\n     * @param {string} contactId Link contact ID.\n     * @param {string} etag Unique ID of the latest version of an existing resource.\n     * @param {NEWUpdateOfTheManagerLink1} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateManager2(\n      contactId: string,\n      etag: string,\n      input: NEWUpdateOfTheManagerLink1,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsManagerList>\n    > {\n      const localVarAxiosArgs = await ManagersApiAxiosParamCreator(\n        configuration\n      ).updateManager2(contactId, etag, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * ManagersApi - factory interface\n * @export\n */\nexport const ManagersApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Remove the contact\\'s manager address link\n     * @param {string} contactId Contact ID associated with.\n     * @param {string} etag Unique ID to remove.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteManager(\n      contactId: string,\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsManager> {\n      return ManagersApiFp(configuration)\n        .deleteManager(contactId, etag, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Remove Contact Managers associations.\n     * @param {string} contactId Contact ID associated with.\n     * @param {Array<string>} etag Set of unique ID(s) to remove.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteManagers(\n      contactId: string,\n      etag: Array<string>,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<Array<WebitelContactsManager>> {\n      return ManagersApiFp(configuration)\n        .deleteManagers(contactId, etag, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Search the Contact\\'s Managers.\n     * @param {string} contactId Contact ID associated with.\n     * @param {number} [page] Page number of result. offset &#x3D; ((page-1)*size)\n     * @param {number} [size] Size of result page. limit &#x3D; (size++)\n     * @param {string} [q] Search term: user name; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {Array<string>} [id] Record(s) with unique ID only.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listManagers(\n      contactId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsManagerList> {\n      return ManagersApiFp(configuration)\n        .listManagers(contactId, page, size, q, sort, fields, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Locate the manager address link.\n     * @param {string} contactId Contact source ID.\n     * @param {string} etag Unique manager link IDentifier. Accept: &#x60;etag&#x60; (obsolete+) or &#x60;id&#x60;.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateManager(\n      contactId: string,\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsManager> {\n      return ManagersApiFp(configuration)\n        .locateManager(contactId, etag, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Associate new Managers to the Contact.\n     * @param {string} contactId Link contact ID.\n     * @param {Array<WebitelContactsInputManager>} input Array of the unique User(s) to associate with the Contact. Any duplicate of an already linked user{id} will result in an error.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    mergeManagers(\n      contactId: string,\n      input: Array<WebitelContactsInputManager>,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsManagerList> {\n      return ManagersApiFp(configuration)\n        .mergeManagers(contactId, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Reset Managers to fit the specified final set.\n     * @param {string} contactId Contact ID associated with.\n     * @param {Array<WebitelContactsInputManager>} input Final set of unique User(s) to be linked with the Contact. User(s) that are already linked with the Contact but not listed here will be removed. The first element will become &#x60;primary&#x60; if no other specified.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    resetManagers(\n      contactId: string,\n      input: Array<WebitelContactsInputManager>,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsManagerList> {\n      return ManagersApiFp(configuration)\n        .resetManagers(contactId, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update the contact\\'s manager address link details\n     * @param {string} contactId Link contact ID.\n     * @param {string} etag Unique ID of the latest version of an existing resource.\n     * @param {NEWUpdateOfTheManagerLink} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateManager(\n      contactId: string,\n      etag: string,\n      input: NEWUpdateOfTheManagerLink,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsManagerList> {\n      return ManagersApiFp(configuration)\n        .updateManager(contactId, etag, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update the contact\\'s manager address link details\n     * @param {string} contactId Link contact ID.\n     * @param {string} etag Unique ID of the latest version of an existing resource.\n     * @param {NEWUpdateOfTheManagerLink1} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateManager2(\n      contactId: string,\n      etag: string,\n      input: NEWUpdateOfTheManagerLink1,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsManagerList> {\n      return ManagersApiFp(configuration)\n        .updateManager2(contactId, etag, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * ManagersApi - object-oriented interface\n * @export\n * @class ManagersApi\n * @extends {BaseAPI}\n */\nexport class ManagersApi extends BaseAPI {\n  /**\n   *\n   * @summary Remove the contact\\'s manager address link\n   * @param {string} contactId Contact ID associated with.\n   * @param {string} etag Unique ID to remove.\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ManagersApi\n   */\n  public deleteManager(\n    contactId: string,\n    etag: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return ManagersApiFp(this.configuration)\n      .deleteManager(contactId, etag, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Remove Contact Managers associations.\n   * @param {string} contactId Contact ID associated with.\n   * @param {Array<string>} etag Set of unique ID(s) to remove.\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ManagersApi\n   */\n  public deleteManagers(\n    contactId: string,\n    etag: Array<string>,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return ManagersApiFp(this.configuration)\n      .deleteManagers(contactId, etag, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Search the Contact\\'s Managers.\n   * @param {string} contactId Contact ID associated with.\n   * @param {number} [page] Page number of result. offset &#x3D; ((page-1)*size)\n   * @param {number} [size] Size of result page. limit &#x3D; (size++)\n   * @param {string} [q] Search term: user name; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n   * @param {Array<string>} [sort] Sort the result according to fields.\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {Array<string>} [id] Record(s) with unique ID only.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ManagersApi\n   */\n  public listManagers(\n    contactId: string,\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: Array<string>,\n    fields?: Array<string>,\n    id?: Array<string>,\n    options?: any\n  ) {\n    return ManagersApiFp(this.configuration)\n      .listManagers(contactId, page, size, q, sort, fields, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Locate the manager address link.\n   * @param {string} contactId Contact source ID.\n   * @param {string} etag Unique manager link IDentifier. Accept: &#x60;etag&#x60; (obsolete+) or &#x60;id&#x60;.\n   * @param {Array<string>} [fields] Fields to be retrieved into result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ManagersApi\n   */\n  public locateManager(\n    contactId: string,\n    etag: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return ManagersApiFp(this.configuration)\n      .locateManager(contactId, etag, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Associate new Managers to the Contact.\n   * @param {string} contactId Link contact ID.\n   * @param {Array<WebitelContactsInputManager>} input Array of the unique User(s) to associate with the Contact. Any duplicate of an already linked user{id} will result in an error.\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ManagersApi\n   */\n  public mergeManagers(\n    contactId: string,\n    input: Array<WebitelContactsInputManager>,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return ManagersApiFp(this.configuration)\n      .mergeManagers(contactId, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Reset Managers to fit the specified final set.\n   * @param {string} contactId Contact ID associated with.\n   * @param {Array<WebitelContactsInputManager>} input Final set of unique User(s) to be linked with the Contact. User(s) that are already linked with the Contact but not listed here will be removed. The first element will become &#x60;primary&#x60; if no other specified.\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ManagersApi\n   */\n  public resetManagers(\n    contactId: string,\n    input: Array<WebitelContactsInputManager>,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return ManagersApiFp(this.configuration)\n      .resetManagers(contactId, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update the contact\\'s manager address link details\n   * @param {string} contactId Link contact ID.\n   * @param {string} etag Unique ID of the latest version of an existing resource.\n   * @param {NEWUpdateOfTheManagerLink} input\n   * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ManagersApi\n   */\n  public updateManager(\n    contactId: string,\n    etag: string,\n    input: NEWUpdateOfTheManagerLink,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return ManagersApiFp(this.configuration)\n      .updateManager(contactId, etag, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update the contact\\'s manager address link details\n   * @param {string} contactId Link contact ID.\n   * @param {string} etag Unique ID of the latest version of an existing resource.\n   * @param {NEWUpdateOfTheManagerLink1} input\n   * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ManagersApi\n   */\n  public updateManager2(\n    contactId: string,\n    etag: string,\n    input: NEWUpdateOfTheManagerLink1,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return ManagersApiFp(this.configuration)\n      .updateManager2(contactId, etag, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { GrpcGatewayRuntimeError } from '../api'\n// @ts-ignore\nimport { StorageListMedia } from '../api'\n// @ts-ignore\nimport { StorageMediaFile } from '../api'\n/**\n * MediaFileServiceApi - axios parameter creator\n * @export\n */\nexport const MediaFileServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Remove MediaFile\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteMediaFile: async (\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteMediaFile.'\n        )\n      }\n      const localVarPath = `/storage/media/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary MediaFile item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readMediaFile: async (\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readMediaFile.'\n        )\n      }\n      const localVarPath = `/storage/media/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Search MediaFile\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchMediaFile: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/storage/media`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * MediaFileServiceApi - functional programming interface\n * @export\n */\nexport const MediaFileServiceApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Remove MediaFile\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteMediaFile(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<StorageMediaFile>\n    > {\n      const localVarAxiosArgs = await MediaFileServiceApiAxiosParamCreator(\n        configuration\n      ).deleteMediaFile(id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary MediaFile item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readMediaFile(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<StorageMediaFile>\n    > {\n      const localVarAxiosArgs = await MediaFileServiceApiAxiosParamCreator(\n        configuration\n      ).readMediaFile(id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Search MediaFile\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchMediaFile(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<StorageListMedia>\n    > {\n      const localVarAxiosArgs = await MediaFileServiceApiAxiosParamCreator(\n        configuration\n      ).searchMediaFile(page, size, q, sort, fields, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * MediaFileServiceApi - factory interface\n * @export\n */\nexport const MediaFileServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Remove MediaFile\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteMediaFile(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<StorageMediaFile> {\n      return MediaFileServiceApiFp(configuration)\n        .deleteMediaFile(id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary MediaFile item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readMediaFile(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<StorageMediaFile> {\n      return MediaFileServiceApiFp(configuration)\n        .readMediaFile(id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Search MediaFile\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchMediaFile(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options?: any\n    ): AxiosPromise<StorageListMedia> {\n      return MediaFileServiceApiFp(configuration)\n        .searchMediaFile(page, size, q, sort, fields, id, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * MediaFileServiceApi - object-oriented interface\n * @export\n * @class MediaFileServiceApi\n * @extends {BaseAPI}\n */\nexport class MediaFileServiceApi extends BaseAPI {\n  /**\n   *\n   * @summary Remove MediaFile\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof MediaFileServiceApi\n   */\n  public deleteMediaFile(id: string, domainId?: string, options?: any) {\n    return MediaFileServiceApiFp(this.configuration)\n      .deleteMediaFile(id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary MediaFile item\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof MediaFileServiceApi\n   */\n  public readMediaFile(id: string, domainId?: string, options?: any) {\n    return MediaFileServiceApiFp(this.configuration)\n      .readMediaFile(id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Search MediaFile\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<number>} [id]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof MediaFileServiceApi\n   */\n  public searchMediaFile(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<number>,\n    options?: any\n  ) {\n    return MediaFileServiceApiFp(this.configuration)\n      .searchMediaFile(page, size, q, sort, fields, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { EngineAttemptResultResponse } from '../api'\n// @ts-ignore\nimport { EngineCreateAttemptResponse } from '../api'\n// @ts-ignore\nimport { EngineDeleteAllMembersRequest } from '../api'\n// @ts-ignore\nimport { EngineListAttempt } from '../api'\n// @ts-ignore\nimport { EngineListHistoryAttempt } from '../api'\n// @ts-ignore\nimport { EngineListMember } from '../api'\n// @ts-ignore\nimport { EngineListMemberAttempt } from '../api'\n// @ts-ignore\nimport { EngineMemberBulkResponse } from '../api'\n// @ts-ignore\nimport { EngineMemberInQueue } from '../api'\n// @ts-ignore\nimport { EngineMemberServiceAttemptCallbackBody } from '../api'\n// @ts-ignore\nimport { EngineMemberServiceAttemptResultBody } from '../api'\n// @ts-ignore\nimport { EngineMemberServiceAttemptsRenewalResultBody } from '../api'\n// @ts-ignore\nimport { EngineMemberServiceCreateAttemptBody } from '../api'\n// @ts-ignore\nimport { EngineMemberServiceCreateMemberBody } from '../api'\n// @ts-ignore\nimport { EngineMemberServiceCreateMemberBulkBody } from '../api'\n// @ts-ignore\nimport { EngineMemberServiceDeleteMembersBody } from '../api'\n// @ts-ignore\nimport { EngineMemberServicePatchMemberBody } from '../api'\n// @ts-ignore\nimport { EngineMemberServicePatchMemberOneBody } from '../api'\n// @ts-ignore\nimport { EngineMemberServiceResetMembersBody } from '../api'\n// @ts-ignore\nimport { EngineMemberServiceUpdateMemberBody } from '../api'\n// @ts-ignore\nimport { EngineResetActiveAttemptsRequest } from '../api'\n// @ts-ignore\nimport { EngineResetMembersResponse } from '../api'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n/**\n * MemberServiceApi - axios parameter creator\n * @export\n */\nexport const MemberServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {string} attemptId\n     * @param {EngineMemberServiceAttemptCallbackBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    attemptCallback: async (\n      attemptId: string,\n      body: EngineMemberServiceAttemptCallbackBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'attemptId' is not null or undefined\n      if (attemptId === null || attemptId === undefined) {\n        throw new RequiredError(\n          'attemptId',\n          'Required parameter attemptId was null or undefined when calling attemptCallback.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling attemptCallback.'\n        )\n      }\n      const localVarPath = `/call_center/attempts/{attempt_id}`.replace(\n        `{${'attempt_id'}}`,\n        encodeURIComponent(String(attemptId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} queueId\n     * @param {string} memberId\n     * @param {string} attemptId\n     * @param {EngineMemberServiceAttemptResultBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    attemptResult: async (\n      queueId: number,\n      memberId: string,\n      attemptId: string,\n      body: EngineMemberServiceAttemptResultBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'queueId' is not null or undefined\n      if (queueId === null || queueId === undefined) {\n        throw new RequiredError(\n          'queueId',\n          'Required parameter queueId was null or undefined when calling attemptResult.'\n        )\n      }\n      // verify required parameter 'memberId' is not null or undefined\n      if (memberId === null || memberId === undefined) {\n        throw new RequiredError(\n          'memberId',\n          'Required parameter memberId was null or undefined when calling attemptResult.'\n        )\n      }\n      // verify required parameter 'attemptId' is not null or undefined\n      if (attemptId === null || attemptId === undefined) {\n        throw new RequiredError(\n          'attemptId',\n          'Required parameter attemptId was null or undefined when calling attemptResult.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling attemptResult.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{queue_id}/members/{member_id}/attempts/{attempt_id}`\n        .replace(`{${'queue_id'}}`, encodeURIComponent(String(queueId)))\n        .replace(`{${'member_id'}}`, encodeURIComponent(String(memberId)))\n        .replace(`{${'attempt_id'}}`, encodeURIComponent(String(attemptId)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} attemptId\n     * @param {EngineMemberServiceAttemptsRenewalResultBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    attemptsRenewalResult: async (\n      attemptId: string,\n      body: EngineMemberServiceAttemptsRenewalResultBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'attemptId' is not null or undefined\n      if (attemptId === null || attemptId === undefined) {\n        throw new RequiredError(\n          'attemptId',\n          'Required parameter attemptId was null or undefined when calling attemptsRenewalResult.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling attemptsRenewalResult.'\n        )\n      }\n      const localVarPath = `/call_center/queues/attempts/{attempt_id}/renewal`.replace(\n        `{${'attempt_id'}}`,\n        encodeURIComponent(String(attemptId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Offline queue\n     * @param {string} queueId\n     * @param {string} memberId\n     * @param {EngineMemberServiceCreateAttemptBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createAttempt: async (\n      queueId: string,\n      memberId: string,\n      body: EngineMemberServiceCreateAttemptBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'queueId' is not null or undefined\n      if (queueId === null || queueId === undefined) {\n        throw new RequiredError(\n          'queueId',\n          'Required parameter queueId was null or undefined when calling createAttempt.'\n        )\n      }\n      // verify required parameter 'memberId' is not null or undefined\n      if (memberId === null || memberId === undefined) {\n        throw new RequiredError(\n          'memberId',\n          'Required parameter memberId was null or undefined when calling createAttempt.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createAttempt.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{queue_id}/members/{member_id}/attempts`\n        .replace(`{${'queue_id'}}`, encodeURIComponent(String(queueId)))\n        .replace(`{${'member_id'}}`, encodeURIComponent(String(memberId)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Create Member\n     * @param {string} queueId\n     * @param {EngineMemberServiceCreateMemberBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createMember: async (\n      queueId: string,\n      body: EngineMemberServiceCreateMemberBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'queueId' is not null or undefined\n      if (queueId === null || queueId === undefined) {\n        throw new RequiredError(\n          'queueId',\n          'Required parameter queueId was null or undefined when calling createMember.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createMember.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{queue_id}/members`.replace(\n        `{${'queue_id'}}`,\n        encodeURIComponent(String(queueId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Create Member\n     * @param {string} queueId\n     * @param {EngineMemberServiceCreateMemberBulkBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createMemberBulk: async (\n      queueId: string,\n      body: EngineMemberServiceCreateMemberBulkBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'queueId' is not null or undefined\n      if (queueId === null || queueId === undefined) {\n        throw new RequiredError(\n          'queueId',\n          'Required parameter queueId was null or undefined when calling createMemberBulk.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createMemberBulk.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{queue_id}/members/bulk`.replace(\n        `{${'queue_id'}}`,\n        encodeURIComponent(String(queueId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary DeleteAllMembers\n     * @param {EngineDeleteAllMembersRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteAllMembers: async (\n      body: EngineDeleteAllMembersRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling deleteAllMembers.'\n        )\n      }\n      const localVarPath = `/call_center/queues/members`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary DeleteMember\n     * @param {string} queueId\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {boolean} [force]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteMember: async (\n      queueId: string,\n      id: string,\n      domainId?: string,\n      force?: boolean,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'queueId' is not null or undefined\n      if (queueId === null || queueId === undefined) {\n        throw new RequiredError(\n          'queueId',\n          'Required parameter queueId was null or undefined when calling deleteMember.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteMember.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{queue_id}/members/{id}`\n        .replace(`{${'queue_id'}}`, encodeURIComponent(String(queueId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      if (force !== undefined) {\n        localVarQueryParameter['force'] = force\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary DeleteMembers\n     * @param {string} queueId\n     * @param {EngineMemberServiceDeleteMembersBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteMembers: async (\n      queueId: string,\n      body: EngineMemberServiceDeleteMembersBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'queueId' is not null or undefined\n      if (queueId === null || queueId === undefined) {\n        throw new RequiredError(\n          'queueId',\n          'Required parameter queueId was null or undefined when calling deleteMembers.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling deleteMembers.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{queue_id}/members`.replace(\n        `{${'queue_id'}}`,\n        encodeURIComponent(String(queueId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Patch Member\n     * @param {string} queueId\n     * @param {string} id\n     * @param {EngineMemberServicePatchMemberBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchMember: async (\n      queueId: string,\n      id: string,\n      body: EngineMemberServicePatchMemberBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'queueId' is not null or undefined\n      if (queueId === null || queueId === undefined) {\n        throw new RequiredError(\n          'queueId',\n          'Required parameter queueId was null or undefined when calling patchMember.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling patchMember.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling patchMember.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{queue_id}/members/{id}`\n        .replace(`{${'queue_id'}}`, encodeURIComponent(String(queueId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineMemberServicePatchMemberOneBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchMemberOne: async (\n      id: string,\n      body: EngineMemberServicePatchMemberOneBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling patchMemberOne.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling patchMemberOne.'\n        )\n      }\n      const localVarPath = `/call_center/members/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary ReadQueueRouting\n     * @param {string} queueId\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readMember: async (\n      queueId: string,\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'queueId' is not null or undefined\n      if (queueId === null || queueId === undefined) {\n        throw new RequiredError(\n          'queueId',\n          'Required parameter queueId was null or undefined when calling readMember.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readMember.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{queue_id}/members/{id}`\n        .replace(`{${'queue_id'}}`, encodeURIComponent(String(queueId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {EngineResetActiveAttemptsRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    resetActiveAttempts: async (\n      body: EngineResetActiveAttemptsRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling resetActiveAttempts.'\n        )\n      }\n      const localVarPath = `/call_center/queues/attempts/active/reset`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary ResetMembers\n     * @param {string} queueId\n     * @param {EngineMemberServiceResetMembersBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    resetMembers: async (\n      queueId: string,\n      body: EngineMemberServiceResetMembersBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'queueId' is not null or undefined\n      if (queueId === null || queueId === undefined) {\n        throw new RequiredError(\n          'queueId',\n          'Required parameter queueId was null or undefined when calling resetMembers.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling resetMembers.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{queue_id}/members/reset`.replace(\n        `{${'queue_id'}}`,\n        encodeURIComponent(String(queueId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary SearchAttempts\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {string} [joinedAtFrom]\n     * @param {string} [joinedAtTo]\n     * @param {Array<string>} [id]\n     * @param {Array<string>} [queueId]\n     * @param {Array<string>} [bucketId]\n     * @param {Array<string>} [memberId]\n     * @param {Array<string>} [agentId]\n     * @param {Array<string>} [result]\n     * @param {string} [leavingAtFrom]\n     * @param {string} [leavingAtTo]\n     * @param {string} [offeringAtFrom]\n     * @param {string} [offeringAtTo]\n     * @param {string} [durationFrom]\n     * @param {string} [durationTo]\n     * @param {Array<string>} [offeredAgentId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAttempts: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      joinedAtFrom?: string,\n      joinedAtTo?: string,\n      id?: Array<string>,\n      queueId?: Array<string>,\n      bucketId?: Array<string>,\n      memberId?: Array<string>,\n      agentId?: Array<string>,\n      result?: Array<string>,\n      leavingAtFrom?: string,\n      leavingAtTo?: string,\n      offeringAtFrom?: string,\n      offeringAtTo?: string,\n      durationFrom?: string,\n      durationTo?: string,\n      offeredAgentId?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/call_center/queues/attempts/active`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (joinedAtFrom !== undefined) {\n        localVarQueryParameter['joined_at.from'] = joinedAtFrom\n      }\n\n      if (joinedAtTo !== undefined) {\n        localVarQueryParameter['joined_at.to'] = joinedAtTo\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (queueId) {\n        localVarQueryParameter['queue_id'] = queueId\n      }\n\n      if (bucketId) {\n        localVarQueryParameter['bucket_id'] = bucketId\n      }\n\n      if (memberId) {\n        localVarQueryParameter['member_id'] = memberId\n      }\n\n      if (agentId) {\n        localVarQueryParameter['agent_id'] = agentId\n      }\n\n      if (result) {\n        localVarQueryParameter['result'] = result\n      }\n\n      if (leavingAtFrom !== undefined) {\n        localVarQueryParameter['leaving_at.from'] = leavingAtFrom\n      }\n\n      if (leavingAtTo !== undefined) {\n        localVarQueryParameter['leaving_at.to'] = leavingAtTo\n      }\n\n      if (offeringAtFrom !== undefined) {\n        localVarQueryParameter['offering_at.from'] = offeringAtFrom\n      }\n\n      if (offeringAtTo !== undefined) {\n        localVarQueryParameter['offering_at.to'] = offeringAtTo\n      }\n\n      if (durationFrom !== undefined) {\n        localVarQueryParameter['duration.from'] = durationFrom\n      }\n\n      if (durationTo !== undefined) {\n        localVarQueryParameter['duration.to'] = durationTo\n      }\n\n      if (offeredAgentId) {\n        localVarQueryParameter['offered_agent_id'] = offeredAgentId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary SearchMemberAttempts\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {string} [joinedAtFrom]\n     * @param {string} [joinedAtTo]\n     * @param {Array<string>} [id]\n     * @param {Array<string>} [queueId]\n     * @param {Array<string>} [bucketId]\n     * @param {Array<string>} [memberId]\n     * @param {Array<string>} [agentId]\n     * @param {Array<string>} [result]\n     * @param {string} [leavingAtFrom]\n     * @param {string} [leavingAtTo]\n     * @param {string} [offeringAtFrom]\n     * @param {string} [offeringAtTo]\n     * @param {string} [durationFrom]\n     * @param {string} [durationTo]\n     * @param {Array<string>} [offeredAgentId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAttemptsHistory: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      joinedAtFrom?: string,\n      joinedAtTo?: string,\n      id?: Array<string>,\n      queueId?: Array<string>,\n      bucketId?: Array<string>,\n      memberId?: Array<string>,\n      agentId?: Array<string>,\n      result?: Array<string>,\n      leavingAtFrom?: string,\n      leavingAtTo?: string,\n      offeringAtFrom?: string,\n      offeringAtTo?: string,\n      durationFrom?: string,\n      durationTo?: string,\n      offeredAgentId?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/call_center/queues/attempts/history`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (joinedAtFrom !== undefined) {\n        localVarQueryParameter['joined_at.from'] = joinedAtFrom\n      }\n\n      if (joinedAtTo !== undefined) {\n        localVarQueryParameter['joined_at.to'] = joinedAtTo\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (queueId) {\n        localVarQueryParameter['queue_id'] = queueId\n      }\n\n      if (bucketId) {\n        localVarQueryParameter['bucket_id'] = bucketId\n      }\n\n      if (memberId) {\n        localVarQueryParameter['member_id'] = memberId\n      }\n\n      if (agentId) {\n        localVarQueryParameter['agent_id'] = agentId\n      }\n\n      if (result) {\n        localVarQueryParameter['result'] = result\n      }\n\n      if (leavingAtFrom !== undefined) {\n        localVarQueryParameter['leaving_at.from'] = leavingAtFrom\n      }\n\n      if (leavingAtTo !== undefined) {\n        localVarQueryParameter['leaving_at.to'] = leavingAtTo\n      }\n\n      if (offeringAtFrom !== undefined) {\n        localVarQueryParameter['offering_at.from'] = offeringAtFrom\n      }\n\n      if (offeringAtTo !== undefined) {\n        localVarQueryParameter['offering_at.to'] = offeringAtTo\n      }\n\n      if (durationFrom !== undefined) {\n        localVarQueryParameter['duration.from'] = durationFrom\n      }\n\n      if (durationTo !== undefined) {\n        localVarQueryParameter['duration.to'] = durationTo\n      }\n\n      if (offeredAgentId) {\n        localVarQueryParameter['offered_agent_id'] = offeredAgentId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary SearchMemberAttempts\n     * @param {string} queueId\n     * @param {string} memberId\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchMemberAttempts: async (\n      queueId: string,\n      memberId: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'queueId' is not null or undefined\n      if (queueId === null || queueId === undefined) {\n        throw new RequiredError(\n          'queueId',\n          'Required parameter queueId was null or undefined when calling searchMemberAttempts.'\n        )\n      }\n      // verify required parameter 'memberId' is not null or undefined\n      if (memberId === null || memberId === undefined) {\n        throw new RequiredError(\n          'memberId',\n          'Required parameter memberId was null or undefined when calling searchMemberAttempts.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{queue_id}/members/{member_id}/attempts`\n        .replace(`{${'queue_id'}}`, encodeURIComponent(String(queueId)))\n        .replace(`{${'member_id'}}`, encodeURIComponent(String(memberId)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary List of Member\n     * @param {number} queueId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [id]\n     * @param {Array<number>} [bucketId]\n     * @param {string} [destination]\n     * @param {string} [createdAtFrom]\n     * @param {string} [createdAtTo]\n     * @param {string} [offeringAtFrom]\n     * @param {string} [offeringAtTo]\n     * @param {Array<string>} [stopCause]\n     * @param {string} [priorityFrom]\n     * @param {string} [priorityTo]\n     * @param {string} [name]\n     * @param {string} [attemptsFrom]\n     * @param {string} [attemptsTo]\n     * @param {Array<number>} [agentId]\n     * @param {string} [variablesString] This is a request variable of the map type. The query format is \\&quot;map_name[key]&#x3D;value\\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\\&quot;bob\\&quot;]&#x3D;18\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchMemberInQueue: async (\n      queueId: number,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<string>,\n      bucketId?: Array<number>,\n      destination?: string,\n      createdAtFrom?: string,\n      createdAtTo?: string,\n      offeringAtFrom?: string,\n      offeringAtTo?: string,\n      stopCause?: Array<string>,\n      priorityFrom?: string,\n      priorityTo?: string,\n      name?: string,\n      attemptsFrom?: string,\n      attemptsTo?: string,\n      agentId?: Array<number>,\n      variablesString?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'queueId' is not null or undefined\n      if (queueId === null || queueId === undefined) {\n        throw new RequiredError(\n          'queueId',\n          'Required parameter queueId was null or undefined when calling searchMemberInQueue.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{queue_id}/members`.replace(\n        `{${'queue_id'}}`,\n        encodeURIComponent(String(queueId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (bucketId) {\n        localVarQueryParameter['bucket_id'] = bucketId\n      }\n\n      if (destination !== undefined) {\n        localVarQueryParameter['destination'] = destination\n      }\n\n      if (createdAtFrom !== undefined) {\n        localVarQueryParameter['created_at.from'] = createdAtFrom\n      }\n\n      if (createdAtTo !== undefined) {\n        localVarQueryParameter['created_at.to'] = createdAtTo\n      }\n\n      if (offeringAtFrom !== undefined) {\n        localVarQueryParameter['offering_at.from'] = offeringAtFrom\n      }\n\n      if (offeringAtTo !== undefined) {\n        localVarQueryParameter['offering_at.to'] = offeringAtTo\n      }\n\n      if (stopCause) {\n        localVarQueryParameter['stop_cause'] = stopCause\n      }\n\n      if (priorityFrom !== undefined) {\n        localVarQueryParameter['priority.from'] = priorityFrom\n      }\n\n      if (priorityTo !== undefined) {\n        localVarQueryParameter['priority.to'] = priorityTo\n      }\n\n      if (name !== undefined) {\n        localVarQueryParameter['name'] = name\n      }\n\n      if (attemptsFrom !== undefined) {\n        localVarQueryParameter['attempts.from'] = attemptsFrom\n      }\n\n      if (attemptsTo !== undefined) {\n        localVarQueryParameter['attempts.to'] = attemptsTo\n      }\n\n      if (agentId) {\n        localVarQueryParameter['agent_id'] = agentId\n      }\n\n      if (variablesString !== undefined) {\n        localVarQueryParameter['variables[string]'] = variablesString\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Search of Member\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [id]\n     * @param {Array<number>} [queueId]\n     * @param {Array<number>} [bucketId]\n     * @param {string} [destination]\n     * @param {string} [createdAtFrom]\n     * @param {string} [createdAtTo]\n     * @param {string} [offeringAtFrom]\n     * @param {string} [offeringAtTo]\n     * @param {Array<string>} [stopCause]\n     * @param {string} [priorityFrom]\n     * @param {string} [priorityTo]\n     * @param {string} [name]\n     * @param {string} [attemptsFrom]\n     * @param {string} [attemptsTo]\n     * @param {Array<number>} [agentId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchMembers: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<string>,\n      queueId?: Array<number>,\n      bucketId?: Array<number>,\n      destination?: string,\n      createdAtFrom?: string,\n      createdAtTo?: string,\n      offeringAtFrom?: string,\n      offeringAtTo?: string,\n      stopCause?: Array<string>,\n      priorityFrom?: string,\n      priorityTo?: string,\n      name?: string,\n      attemptsFrom?: string,\n      attemptsTo?: string,\n      agentId?: Array<number>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/call_center/members`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (queueId) {\n        localVarQueryParameter['queue_id'] = queueId\n      }\n\n      if (bucketId) {\n        localVarQueryParameter['bucket_id'] = bucketId\n      }\n\n      if (destination !== undefined) {\n        localVarQueryParameter['destination'] = destination\n      }\n\n      if (createdAtFrom !== undefined) {\n        localVarQueryParameter['created_at.from'] = createdAtFrom\n      }\n\n      if (createdAtTo !== undefined) {\n        localVarQueryParameter['created_at.to'] = createdAtTo\n      }\n\n      if (offeringAtFrom !== undefined) {\n        localVarQueryParameter['offering_at.from'] = offeringAtFrom\n      }\n\n      if (offeringAtTo !== undefined) {\n        localVarQueryParameter['offering_at.to'] = offeringAtTo\n      }\n\n      if (stopCause) {\n        localVarQueryParameter['stop_cause'] = stopCause\n      }\n\n      if (priorityFrom !== undefined) {\n        localVarQueryParameter['priority.from'] = priorityFrom\n      }\n\n      if (priorityTo !== undefined) {\n        localVarQueryParameter['priority.to'] = priorityTo\n      }\n\n      if (name !== undefined) {\n        localVarQueryParameter['name'] = name\n      }\n\n      if (attemptsFrom !== undefined) {\n        localVarQueryParameter['attempts.from'] = attemptsFrom\n      }\n\n      if (attemptsTo !== undefined) {\n        localVarQueryParameter['attempts.to'] = attemptsTo\n      }\n\n      if (agentId) {\n        localVarQueryParameter['agent_id'] = agentId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary UpdateMember\n     * @param {string} queueId\n     * @param {string} id\n     * @param {EngineMemberServiceUpdateMemberBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateMember: async (\n      queueId: string,\n      id: string,\n      body: EngineMemberServiceUpdateMemberBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'queueId' is not null or undefined\n      if (queueId === null || queueId === undefined) {\n        throw new RequiredError(\n          'queueId',\n          'Required parameter queueId was null or undefined when calling updateMember.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateMember.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateMember.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{queue_id}/members/{id}`\n        .replace(`{${'queue_id'}}`, encodeURIComponent(String(queueId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * MemberServiceApi - functional programming interface\n * @export\n */\nexport const MemberServiceApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @param {string} attemptId\n     * @param {EngineMemberServiceAttemptCallbackBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async attemptCallback(\n      attemptId: string,\n      body: EngineMemberServiceAttemptCallbackBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineAttemptResultResponse>\n    > {\n      const localVarAxiosArgs = await MemberServiceApiAxiosParamCreator(\n        configuration\n      ).attemptCallback(attemptId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} queueId\n     * @param {string} memberId\n     * @param {string} attemptId\n     * @param {EngineMemberServiceAttemptResultBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async attemptResult(\n      queueId: number,\n      memberId: string,\n      attemptId: string,\n      body: EngineMemberServiceAttemptResultBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineAttemptResultResponse>\n    > {\n      const localVarAxiosArgs = await MemberServiceApiAxiosParamCreator(\n        configuration\n      ).attemptResult(queueId, memberId, attemptId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} attemptId\n     * @param {EngineMemberServiceAttemptsRenewalResultBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async attemptsRenewalResult(\n      attemptId: string,\n      body: EngineMemberServiceAttemptsRenewalResultBody,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>\n    > {\n      const localVarAxiosArgs = await MemberServiceApiAxiosParamCreator(\n        configuration\n      ).attemptsRenewalResult(attemptId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Offline queue\n     * @param {string} queueId\n     * @param {string} memberId\n     * @param {EngineMemberServiceCreateAttemptBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createAttempt(\n      queueId: string,\n      memberId: string,\n      body: EngineMemberServiceCreateAttemptBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineCreateAttemptResponse>\n    > {\n      const localVarAxiosArgs = await MemberServiceApiAxiosParamCreator(\n        configuration\n      ).createAttempt(queueId, memberId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Create Member\n     * @param {string} queueId\n     * @param {EngineMemberServiceCreateMemberBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createMember(\n      queueId: string,\n      body: EngineMemberServiceCreateMemberBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineMemberInQueue>\n    > {\n      const localVarAxiosArgs = await MemberServiceApiAxiosParamCreator(\n        configuration\n      ).createMember(queueId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Create Member\n     * @param {string} queueId\n     * @param {EngineMemberServiceCreateMemberBulkBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createMemberBulk(\n      queueId: string,\n      body: EngineMemberServiceCreateMemberBulkBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineMemberBulkResponse>\n    > {\n      const localVarAxiosArgs = await MemberServiceApiAxiosParamCreator(\n        configuration\n      ).createMemberBulk(queueId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary DeleteAllMembers\n     * @param {EngineDeleteAllMembersRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteAllMembers(\n      body: EngineDeleteAllMembersRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListMember>\n    > {\n      const localVarAxiosArgs = await MemberServiceApiAxiosParamCreator(\n        configuration\n      ).deleteAllMembers(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary DeleteMember\n     * @param {string} queueId\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {boolean} [force]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteMember(\n      queueId: string,\n      id: string,\n      domainId?: string,\n      force?: boolean,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineMemberInQueue>\n    > {\n      const localVarAxiosArgs = await MemberServiceApiAxiosParamCreator(\n        configuration\n      ).deleteMember(queueId, id, domainId, force, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary DeleteMembers\n     * @param {string} queueId\n     * @param {EngineMemberServiceDeleteMembersBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteMembers(\n      queueId: string,\n      body: EngineMemberServiceDeleteMembersBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListMember>\n    > {\n      const localVarAxiosArgs = await MemberServiceApiAxiosParamCreator(\n        configuration\n      ).deleteMembers(queueId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Patch Member\n     * @param {string} queueId\n     * @param {string} id\n     * @param {EngineMemberServicePatchMemberBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async patchMember(\n      queueId: string,\n      id: string,\n      body: EngineMemberServicePatchMemberBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineMemberInQueue>\n    > {\n      const localVarAxiosArgs = await MemberServiceApiAxiosParamCreator(\n        configuration\n      ).patchMember(queueId, id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineMemberServicePatchMemberOneBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async patchMemberOne(\n      id: string,\n      body: EngineMemberServicePatchMemberOneBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineMemberInQueue>\n    > {\n      const localVarAxiosArgs = await MemberServiceApiAxiosParamCreator(\n        configuration\n      ).patchMemberOne(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary ReadQueueRouting\n     * @param {string} queueId\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readMember(\n      queueId: string,\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineMemberInQueue>\n    > {\n      const localVarAxiosArgs = await MemberServiceApiAxiosParamCreator(\n        configuration\n      ).readMember(queueId, id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {EngineResetActiveAttemptsRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async resetActiveAttempts(\n      body: EngineResetActiveAttemptsRequest,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>\n    > {\n      const localVarAxiosArgs = await MemberServiceApiAxiosParamCreator(\n        configuration\n      ).resetActiveAttempts(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary ResetMembers\n     * @param {string} queueId\n     * @param {EngineMemberServiceResetMembersBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async resetMembers(\n      queueId: string,\n      body: EngineMemberServiceResetMembersBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineResetMembersResponse>\n    > {\n      const localVarAxiosArgs = await MemberServiceApiAxiosParamCreator(\n        configuration\n      ).resetMembers(queueId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary SearchAttempts\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {string} [joinedAtFrom]\n     * @param {string} [joinedAtTo]\n     * @param {Array<string>} [id]\n     * @param {Array<string>} [queueId]\n     * @param {Array<string>} [bucketId]\n     * @param {Array<string>} [memberId]\n     * @param {Array<string>} [agentId]\n     * @param {Array<string>} [result]\n     * @param {string} [leavingAtFrom]\n     * @param {string} [leavingAtTo]\n     * @param {string} [offeringAtFrom]\n     * @param {string} [offeringAtTo]\n     * @param {string} [durationFrom]\n     * @param {string} [durationTo]\n     * @param {Array<string>} [offeredAgentId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchAttempts(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      joinedAtFrom?: string,\n      joinedAtTo?: string,\n      id?: Array<string>,\n      queueId?: Array<string>,\n      bucketId?: Array<string>,\n      memberId?: Array<string>,\n      agentId?: Array<string>,\n      result?: Array<string>,\n      leavingAtFrom?: string,\n      leavingAtTo?: string,\n      offeringAtFrom?: string,\n      offeringAtTo?: string,\n      durationFrom?: string,\n      durationTo?: string,\n      offeredAgentId?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListAttempt>\n    > {\n      const localVarAxiosArgs = await MemberServiceApiAxiosParamCreator(\n        configuration\n      ).searchAttempts(\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        joinedAtFrom,\n        joinedAtTo,\n        id,\n        queueId,\n        bucketId,\n        memberId,\n        agentId,\n        result,\n        leavingAtFrom,\n        leavingAtTo,\n        offeringAtFrom,\n        offeringAtTo,\n        durationFrom,\n        durationTo,\n        offeredAgentId,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary SearchMemberAttempts\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {string} [joinedAtFrom]\n     * @param {string} [joinedAtTo]\n     * @param {Array<string>} [id]\n     * @param {Array<string>} [queueId]\n     * @param {Array<string>} [bucketId]\n     * @param {Array<string>} [memberId]\n     * @param {Array<string>} [agentId]\n     * @param {Array<string>} [result]\n     * @param {string} [leavingAtFrom]\n     * @param {string} [leavingAtTo]\n     * @param {string} [offeringAtFrom]\n     * @param {string} [offeringAtTo]\n     * @param {string} [durationFrom]\n     * @param {string} [durationTo]\n     * @param {Array<string>} [offeredAgentId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchAttemptsHistory(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      joinedAtFrom?: string,\n      joinedAtTo?: string,\n      id?: Array<string>,\n      queueId?: Array<string>,\n      bucketId?: Array<string>,\n      memberId?: Array<string>,\n      agentId?: Array<string>,\n      result?: Array<string>,\n      leavingAtFrom?: string,\n      leavingAtTo?: string,\n      offeringAtFrom?: string,\n      offeringAtTo?: string,\n      durationFrom?: string,\n      durationTo?: string,\n      offeredAgentId?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListHistoryAttempt>\n    > {\n      const localVarAxiosArgs = await MemberServiceApiAxiosParamCreator(\n        configuration\n      ).searchAttemptsHistory(\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        joinedAtFrom,\n        joinedAtTo,\n        id,\n        queueId,\n        bucketId,\n        memberId,\n        agentId,\n        result,\n        leavingAtFrom,\n        leavingAtTo,\n        offeringAtFrom,\n        offeringAtTo,\n        durationFrom,\n        durationTo,\n        offeredAgentId,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary SearchMemberAttempts\n     * @param {string} queueId\n     * @param {string} memberId\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchMemberAttempts(\n      queueId: string,\n      memberId: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListMemberAttempt>\n    > {\n      const localVarAxiosArgs = await MemberServiceApiAxiosParamCreator(\n        configuration\n      ).searchMemberAttempts(queueId, memberId, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary List of Member\n     * @param {number} queueId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [id]\n     * @param {Array<number>} [bucketId]\n     * @param {string} [destination]\n     * @param {string} [createdAtFrom]\n     * @param {string} [createdAtTo]\n     * @param {string} [offeringAtFrom]\n     * @param {string} [offeringAtTo]\n     * @param {Array<string>} [stopCause]\n     * @param {string} [priorityFrom]\n     * @param {string} [priorityTo]\n     * @param {string} [name]\n     * @param {string} [attemptsFrom]\n     * @param {string} [attemptsTo]\n     * @param {Array<number>} [agentId]\n     * @param {string} [variablesString] This is a request variable of the map type. The query format is \\&quot;map_name[key]&#x3D;value\\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\\&quot;bob\\&quot;]&#x3D;18\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchMemberInQueue(\n      queueId: number,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<string>,\n      bucketId?: Array<number>,\n      destination?: string,\n      createdAtFrom?: string,\n      createdAtTo?: string,\n      offeringAtFrom?: string,\n      offeringAtTo?: string,\n      stopCause?: Array<string>,\n      priorityFrom?: string,\n      priorityTo?: string,\n      name?: string,\n      attemptsFrom?: string,\n      attemptsTo?: string,\n      agentId?: Array<number>,\n      variablesString?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListMember>\n    > {\n      const localVarAxiosArgs = await MemberServiceApiAxiosParamCreator(\n        configuration\n      ).searchMemberInQueue(\n        queueId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        bucketId,\n        destination,\n        createdAtFrom,\n        createdAtTo,\n        offeringAtFrom,\n        offeringAtTo,\n        stopCause,\n        priorityFrom,\n        priorityTo,\n        name,\n        attemptsFrom,\n        attemptsTo,\n        agentId,\n        variablesString,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Search of Member\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [id]\n     * @param {Array<number>} [queueId]\n     * @param {Array<number>} [bucketId]\n     * @param {string} [destination]\n     * @param {string} [createdAtFrom]\n     * @param {string} [createdAtTo]\n     * @param {string} [offeringAtFrom]\n     * @param {string} [offeringAtTo]\n     * @param {Array<string>} [stopCause]\n     * @param {string} [priorityFrom]\n     * @param {string} [priorityTo]\n     * @param {string} [name]\n     * @param {string} [attemptsFrom]\n     * @param {string} [attemptsTo]\n     * @param {Array<number>} [agentId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchMembers(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<string>,\n      queueId?: Array<number>,\n      bucketId?: Array<number>,\n      destination?: string,\n      createdAtFrom?: string,\n      createdAtTo?: string,\n      offeringAtFrom?: string,\n      offeringAtTo?: string,\n      stopCause?: Array<string>,\n      priorityFrom?: string,\n      priorityTo?: string,\n      name?: string,\n      attemptsFrom?: string,\n      attemptsTo?: string,\n      agentId?: Array<number>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListMember>\n    > {\n      const localVarAxiosArgs = await MemberServiceApiAxiosParamCreator(\n        configuration\n      ).searchMembers(\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        queueId,\n        bucketId,\n        destination,\n        createdAtFrom,\n        createdAtTo,\n        offeringAtFrom,\n        offeringAtTo,\n        stopCause,\n        priorityFrom,\n        priorityTo,\n        name,\n        attemptsFrom,\n        attemptsTo,\n        agentId,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary UpdateMember\n     * @param {string} queueId\n     * @param {string} id\n     * @param {EngineMemberServiceUpdateMemberBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateMember(\n      queueId: string,\n      id: string,\n      body: EngineMemberServiceUpdateMemberBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineMemberInQueue>\n    > {\n      const localVarAxiosArgs = await MemberServiceApiAxiosParamCreator(\n        configuration\n      ).updateMember(queueId, id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * MemberServiceApi - factory interface\n * @export\n */\nexport const MemberServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {string} attemptId\n     * @param {EngineMemberServiceAttemptCallbackBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    attemptCallback(\n      attemptId: string,\n      body: EngineMemberServiceAttemptCallbackBody,\n      options?: any\n    ): AxiosPromise<EngineAttemptResultResponse> {\n      return MemberServiceApiFp(configuration)\n        .attemptCallback(attemptId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} queueId\n     * @param {string} memberId\n     * @param {string} attemptId\n     * @param {EngineMemberServiceAttemptResultBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    attemptResult(\n      queueId: number,\n      memberId: string,\n      attemptId: string,\n      body: EngineMemberServiceAttemptResultBody,\n      options?: any\n    ): AxiosPromise<EngineAttemptResultResponse> {\n      return MemberServiceApiFp(configuration)\n        .attemptResult(queueId, memberId, attemptId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} attemptId\n     * @param {EngineMemberServiceAttemptsRenewalResultBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    attemptsRenewalResult(\n      attemptId: string,\n      body: EngineMemberServiceAttemptsRenewalResultBody,\n      options?: any\n    ): AxiosPromise<object> {\n      return MemberServiceApiFp(configuration)\n        .attemptsRenewalResult(attemptId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Offline queue\n     * @param {string} queueId\n     * @param {string} memberId\n     * @param {EngineMemberServiceCreateAttemptBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createAttempt(\n      queueId: string,\n      memberId: string,\n      body: EngineMemberServiceCreateAttemptBody,\n      options?: any\n    ): AxiosPromise<EngineCreateAttemptResponse> {\n      return MemberServiceApiFp(configuration)\n        .createAttempt(queueId, memberId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Create Member\n     * @param {string} queueId\n     * @param {EngineMemberServiceCreateMemberBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createMember(\n      queueId: string,\n      body: EngineMemberServiceCreateMemberBody,\n      options?: any\n    ): AxiosPromise<EngineMemberInQueue> {\n      return MemberServiceApiFp(configuration)\n        .createMember(queueId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Create Member\n     * @param {string} queueId\n     * @param {EngineMemberServiceCreateMemberBulkBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createMemberBulk(\n      queueId: string,\n      body: EngineMemberServiceCreateMemberBulkBody,\n      options?: any\n    ): AxiosPromise<EngineMemberBulkResponse> {\n      return MemberServiceApiFp(configuration)\n        .createMemberBulk(queueId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary DeleteAllMembers\n     * @param {EngineDeleteAllMembersRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteAllMembers(\n      body: EngineDeleteAllMembersRequest,\n      options?: any\n    ): AxiosPromise<EngineListMember> {\n      return MemberServiceApiFp(configuration)\n        .deleteAllMembers(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary DeleteMember\n     * @param {string} queueId\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {boolean} [force]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteMember(\n      queueId: string,\n      id: string,\n      domainId?: string,\n      force?: boolean,\n      options?: any\n    ): AxiosPromise<EngineMemberInQueue> {\n      return MemberServiceApiFp(configuration)\n        .deleteMember(queueId, id, domainId, force, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary DeleteMembers\n     * @param {string} queueId\n     * @param {EngineMemberServiceDeleteMembersBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteMembers(\n      queueId: string,\n      body: EngineMemberServiceDeleteMembersBody,\n      options?: any\n    ): AxiosPromise<EngineListMember> {\n      return MemberServiceApiFp(configuration)\n        .deleteMembers(queueId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Patch Member\n     * @param {string} queueId\n     * @param {string} id\n     * @param {EngineMemberServicePatchMemberBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchMember(\n      queueId: string,\n      id: string,\n      body: EngineMemberServicePatchMemberBody,\n      options?: any\n    ): AxiosPromise<EngineMemberInQueue> {\n      return MemberServiceApiFp(configuration)\n        .patchMember(queueId, id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineMemberServicePatchMemberOneBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchMemberOne(\n      id: string,\n      body: EngineMemberServicePatchMemberOneBody,\n      options?: any\n    ): AxiosPromise<EngineMemberInQueue> {\n      return MemberServiceApiFp(configuration)\n        .patchMemberOne(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary ReadQueueRouting\n     * @param {string} queueId\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readMember(\n      queueId: string,\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineMemberInQueue> {\n      return MemberServiceApiFp(configuration)\n        .readMember(queueId, id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {EngineResetActiveAttemptsRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    resetActiveAttempts(\n      body: EngineResetActiveAttemptsRequest,\n      options?: any\n    ): AxiosPromise<object> {\n      return MemberServiceApiFp(configuration)\n        .resetActiveAttempts(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary ResetMembers\n     * @param {string} queueId\n     * @param {EngineMemberServiceResetMembersBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    resetMembers(\n      queueId: string,\n      body: EngineMemberServiceResetMembersBody,\n      options?: any\n    ): AxiosPromise<EngineResetMembersResponse> {\n      return MemberServiceApiFp(configuration)\n        .resetMembers(queueId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary SearchAttempts\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {string} [joinedAtFrom]\n     * @param {string} [joinedAtTo]\n     * @param {Array<string>} [id]\n     * @param {Array<string>} [queueId]\n     * @param {Array<string>} [bucketId]\n     * @param {Array<string>} [memberId]\n     * @param {Array<string>} [agentId]\n     * @param {Array<string>} [result]\n     * @param {string} [leavingAtFrom]\n     * @param {string} [leavingAtTo]\n     * @param {string} [offeringAtFrom]\n     * @param {string} [offeringAtTo]\n     * @param {string} [durationFrom]\n     * @param {string} [durationTo]\n     * @param {Array<string>} [offeredAgentId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAttempts(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      joinedAtFrom?: string,\n      joinedAtTo?: string,\n      id?: Array<string>,\n      queueId?: Array<string>,\n      bucketId?: Array<string>,\n      memberId?: Array<string>,\n      agentId?: Array<string>,\n      result?: Array<string>,\n      leavingAtFrom?: string,\n      leavingAtTo?: string,\n      offeringAtFrom?: string,\n      offeringAtTo?: string,\n      durationFrom?: string,\n      durationTo?: string,\n      offeredAgentId?: Array<string>,\n      options?: any\n    ): AxiosPromise<EngineListAttempt> {\n      return MemberServiceApiFp(configuration)\n        .searchAttempts(\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          joinedAtFrom,\n          joinedAtTo,\n          id,\n          queueId,\n          bucketId,\n          memberId,\n          agentId,\n          result,\n          leavingAtFrom,\n          leavingAtTo,\n          offeringAtFrom,\n          offeringAtTo,\n          durationFrom,\n          durationTo,\n          offeredAgentId,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary SearchMemberAttempts\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {string} [joinedAtFrom]\n     * @param {string} [joinedAtTo]\n     * @param {Array<string>} [id]\n     * @param {Array<string>} [queueId]\n     * @param {Array<string>} [bucketId]\n     * @param {Array<string>} [memberId]\n     * @param {Array<string>} [agentId]\n     * @param {Array<string>} [result]\n     * @param {string} [leavingAtFrom]\n     * @param {string} [leavingAtTo]\n     * @param {string} [offeringAtFrom]\n     * @param {string} [offeringAtTo]\n     * @param {string} [durationFrom]\n     * @param {string} [durationTo]\n     * @param {Array<string>} [offeredAgentId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAttemptsHistory(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      joinedAtFrom?: string,\n      joinedAtTo?: string,\n      id?: Array<string>,\n      queueId?: Array<string>,\n      bucketId?: Array<string>,\n      memberId?: Array<string>,\n      agentId?: Array<string>,\n      result?: Array<string>,\n      leavingAtFrom?: string,\n      leavingAtTo?: string,\n      offeringAtFrom?: string,\n      offeringAtTo?: string,\n      durationFrom?: string,\n      durationTo?: string,\n      offeredAgentId?: Array<string>,\n      options?: any\n    ): AxiosPromise<EngineListHistoryAttempt> {\n      return MemberServiceApiFp(configuration)\n        .searchAttemptsHistory(\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          joinedAtFrom,\n          joinedAtTo,\n          id,\n          queueId,\n          bucketId,\n          memberId,\n          agentId,\n          result,\n          leavingAtFrom,\n          leavingAtTo,\n          offeringAtFrom,\n          offeringAtTo,\n          durationFrom,\n          durationTo,\n          offeredAgentId,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary SearchMemberAttempts\n     * @param {string} queueId\n     * @param {string} memberId\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchMemberAttempts(\n      queueId: string,\n      memberId: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineListMemberAttempt> {\n      return MemberServiceApiFp(configuration)\n        .searchMemberAttempts(queueId, memberId, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary List of Member\n     * @param {number} queueId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [id]\n     * @param {Array<number>} [bucketId]\n     * @param {string} [destination]\n     * @param {string} [createdAtFrom]\n     * @param {string} [createdAtTo]\n     * @param {string} [offeringAtFrom]\n     * @param {string} [offeringAtTo]\n     * @param {Array<string>} [stopCause]\n     * @param {string} [priorityFrom]\n     * @param {string} [priorityTo]\n     * @param {string} [name]\n     * @param {string} [attemptsFrom]\n     * @param {string} [attemptsTo]\n     * @param {Array<number>} [agentId]\n     * @param {string} [variablesString] This is a request variable of the map type. The query format is \\&quot;map_name[key]&#x3D;value\\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\\&quot;bob\\&quot;]&#x3D;18\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchMemberInQueue(\n      queueId: number,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<string>,\n      bucketId?: Array<number>,\n      destination?: string,\n      createdAtFrom?: string,\n      createdAtTo?: string,\n      offeringAtFrom?: string,\n      offeringAtTo?: string,\n      stopCause?: Array<string>,\n      priorityFrom?: string,\n      priorityTo?: string,\n      name?: string,\n      attemptsFrom?: string,\n      attemptsTo?: string,\n      agentId?: Array<number>,\n      variablesString?: string,\n      options?: any\n    ): AxiosPromise<EngineListMember> {\n      return MemberServiceApiFp(configuration)\n        .searchMemberInQueue(\n          queueId,\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          id,\n          bucketId,\n          destination,\n          createdAtFrom,\n          createdAtTo,\n          offeringAtFrom,\n          offeringAtTo,\n          stopCause,\n          priorityFrom,\n          priorityTo,\n          name,\n          attemptsFrom,\n          attemptsTo,\n          agentId,\n          variablesString,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Search of Member\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [id]\n     * @param {Array<number>} [queueId]\n     * @param {Array<number>} [bucketId]\n     * @param {string} [destination]\n     * @param {string} [createdAtFrom]\n     * @param {string} [createdAtTo]\n     * @param {string} [offeringAtFrom]\n     * @param {string} [offeringAtTo]\n     * @param {Array<string>} [stopCause]\n     * @param {string} [priorityFrom]\n     * @param {string} [priorityTo]\n     * @param {string} [name]\n     * @param {string} [attemptsFrom]\n     * @param {string} [attemptsTo]\n     * @param {Array<number>} [agentId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchMembers(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<string>,\n      queueId?: Array<number>,\n      bucketId?: Array<number>,\n      destination?: string,\n      createdAtFrom?: string,\n      createdAtTo?: string,\n      offeringAtFrom?: string,\n      offeringAtTo?: string,\n      stopCause?: Array<string>,\n      priorityFrom?: string,\n      priorityTo?: string,\n      name?: string,\n      attemptsFrom?: string,\n      attemptsTo?: string,\n      agentId?: Array<number>,\n      options?: any\n    ): AxiosPromise<EngineListMember> {\n      return MemberServiceApiFp(configuration)\n        .searchMembers(\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          id,\n          queueId,\n          bucketId,\n          destination,\n          createdAtFrom,\n          createdAtTo,\n          offeringAtFrom,\n          offeringAtTo,\n          stopCause,\n          priorityFrom,\n          priorityTo,\n          name,\n          attemptsFrom,\n          attemptsTo,\n          agentId,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary UpdateMember\n     * @param {string} queueId\n     * @param {string} id\n     * @param {EngineMemberServiceUpdateMemberBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateMember(\n      queueId: string,\n      id: string,\n      body: EngineMemberServiceUpdateMemberBody,\n      options?: any\n    ): AxiosPromise<EngineMemberInQueue> {\n      return MemberServiceApiFp(configuration)\n        .updateMember(queueId, id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * MemberServiceApi - object-oriented interface\n * @export\n * @class MemberServiceApi\n * @extends {BaseAPI}\n */\nexport class MemberServiceApi extends BaseAPI {\n  /**\n   *\n   * @param {string} attemptId\n   * @param {EngineMemberServiceAttemptCallbackBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof MemberServiceApi\n   */\n  public attemptCallback(\n    attemptId: string,\n    body: EngineMemberServiceAttemptCallbackBody,\n    options?: any\n  ) {\n    return MemberServiceApiFp(this.configuration)\n      .attemptCallback(attemptId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} queueId\n   * @param {string} memberId\n   * @param {string} attemptId\n   * @param {EngineMemberServiceAttemptResultBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof MemberServiceApi\n   */\n  public attemptResult(\n    queueId: number,\n    memberId: string,\n    attemptId: string,\n    body: EngineMemberServiceAttemptResultBody,\n    options?: any\n  ) {\n    return MemberServiceApiFp(this.configuration)\n      .attemptResult(queueId, memberId, attemptId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} attemptId\n   * @param {EngineMemberServiceAttemptsRenewalResultBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof MemberServiceApi\n   */\n  public attemptsRenewalResult(\n    attemptId: string,\n    body: EngineMemberServiceAttemptsRenewalResultBody,\n    options?: any\n  ) {\n    return MemberServiceApiFp(this.configuration)\n      .attemptsRenewalResult(attemptId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Offline queue\n   * @param {string} queueId\n   * @param {string} memberId\n   * @param {EngineMemberServiceCreateAttemptBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof MemberServiceApi\n   */\n  public createAttempt(\n    queueId: string,\n    memberId: string,\n    body: EngineMemberServiceCreateAttemptBody,\n    options?: any\n  ) {\n    return MemberServiceApiFp(this.configuration)\n      .createAttempt(queueId, memberId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Create Member\n   * @param {string} queueId\n   * @param {EngineMemberServiceCreateMemberBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof MemberServiceApi\n   */\n  public createMember(\n    queueId: string,\n    body: EngineMemberServiceCreateMemberBody,\n    options?: any\n  ) {\n    return MemberServiceApiFp(this.configuration)\n      .createMember(queueId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Create Member\n   * @param {string} queueId\n   * @param {EngineMemberServiceCreateMemberBulkBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof MemberServiceApi\n   */\n  public createMemberBulk(\n    queueId: string,\n    body: EngineMemberServiceCreateMemberBulkBody,\n    options?: any\n  ) {\n    return MemberServiceApiFp(this.configuration)\n      .createMemberBulk(queueId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary DeleteAllMembers\n   * @param {EngineDeleteAllMembersRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof MemberServiceApi\n   */\n  public deleteAllMembers(body: EngineDeleteAllMembersRequest, options?: any) {\n    return MemberServiceApiFp(this.configuration)\n      .deleteAllMembers(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary DeleteMember\n   * @param {string} queueId\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {boolean} [force]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof MemberServiceApi\n   */\n  public deleteMember(\n    queueId: string,\n    id: string,\n    domainId?: string,\n    force?: boolean,\n    options?: any\n  ) {\n    return MemberServiceApiFp(this.configuration)\n      .deleteMember(queueId, id, domainId, force, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary DeleteMembers\n   * @param {string} queueId\n   * @param {EngineMemberServiceDeleteMembersBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof MemberServiceApi\n   */\n  public deleteMembers(\n    queueId: string,\n    body: EngineMemberServiceDeleteMembersBody,\n    options?: any\n  ) {\n    return MemberServiceApiFp(this.configuration)\n      .deleteMembers(queueId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Patch Member\n   * @param {string} queueId\n   * @param {string} id\n   * @param {EngineMemberServicePatchMemberBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof MemberServiceApi\n   */\n  public patchMember(\n    queueId: string,\n    id: string,\n    body: EngineMemberServicePatchMemberBody,\n    options?: any\n  ) {\n    return MemberServiceApiFp(this.configuration)\n      .patchMember(queueId, id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {EngineMemberServicePatchMemberOneBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof MemberServiceApi\n   */\n  public patchMemberOne(\n    id: string,\n    body: EngineMemberServicePatchMemberOneBody,\n    options?: any\n  ) {\n    return MemberServiceApiFp(this.configuration)\n      .patchMemberOne(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary ReadQueueRouting\n   * @param {string} queueId\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof MemberServiceApi\n   */\n  public readMember(\n    queueId: string,\n    id: string,\n    domainId?: string,\n    options?: any\n  ) {\n    return MemberServiceApiFp(this.configuration)\n      .readMember(queueId, id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {EngineResetActiveAttemptsRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof MemberServiceApi\n   */\n  public resetActiveAttempts(\n    body: EngineResetActiveAttemptsRequest,\n    options?: any\n  ) {\n    return MemberServiceApiFp(this.configuration)\n      .resetActiveAttempts(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary ResetMembers\n   * @param {string} queueId\n   * @param {EngineMemberServiceResetMembersBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof MemberServiceApi\n   */\n  public resetMembers(\n    queueId: string,\n    body: EngineMemberServiceResetMembersBody,\n    options?: any\n  ) {\n    return MemberServiceApiFp(this.configuration)\n      .resetMembers(queueId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary SearchAttempts\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {string} [joinedAtFrom]\n   * @param {string} [joinedAtTo]\n   * @param {Array<string>} [id]\n   * @param {Array<string>} [queueId]\n   * @param {Array<string>} [bucketId]\n   * @param {Array<string>} [memberId]\n   * @param {Array<string>} [agentId]\n   * @param {Array<string>} [result]\n   * @param {string} [leavingAtFrom]\n   * @param {string} [leavingAtTo]\n   * @param {string} [offeringAtFrom]\n   * @param {string} [offeringAtTo]\n   * @param {string} [durationFrom]\n   * @param {string} [durationTo]\n   * @param {Array<string>} [offeredAgentId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof MemberServiceApi\n   */\n  public searchAttempts(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    joinedAtFrom?: string,\n    joinedAtTo?: string,\n    id?: Array<string>,\n    queueId?: Array<string>,\n    bucketId?: Array<string>,\n    memberId?: Array<string>,\n    agentId?: Array<string>,\n    result?: Array<string>,\n    leavingAtFrom?: string,\n    leavingAtTo?: string,\n    offeringAtFrom?: string,\n    offeringAtTo?: string,\n    durationFrom?: string,\n    durationTo?: string,\n    offeredAgentId?: Array<string>,\n    options?: any\n  ) {\n    return MemberServiceApiFp(this.configuration)\n      .searchAttempts(\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        joinedAtFrom,\n        joinedAtTo,\n        id,\n        queueId,\n        bucketId,\n        memberId,\n        agentId,\n        result,\n        leavingAtFrom,\n        leavingAtTo,\n        offeringAtFrom,\n        offeringAtTo,\n        durationFrom,\n        durationTo,\n        offeredAgentId,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary SearchMemberAttempts\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {string} [joinedAtFrom]\n   * @param {string} [joinedAtTo]\n   * @param {Array<string>} [id]\n   * @param {Array<string>} [queueId]\n   * @param {Array<string>} [bucketId]\n   * @param {Array<string>} [memberId]\n   * @param {Array<string>} [agentId]\n   * @param {Array<string>} [result]\n   * @param {string} [leavingAtFrom]\n   * @param {string} [leavingAtTo]\n   * @param {string} [offeringAtFrom]\n   * @param {string} [offeringAtTo]\n   * @param {string} [durationFrom]\n   * @param {string} [durationTo]\n   * @param {Array<string>} [offeredAgentId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof MemberServiceApi\n   */\n  public searchAttemptsHistory(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    joinedAtFrom?: string,\n    joinedAtTo?: string,\n    id?: Array<string>,\n    queueId?: Array<string>,\n    bucketId?: Array<string>,\n    memberId?: Array<string>,\n    agentId?: Array<string>,\n    result?: Array<string>,\n    leavingAtFrom?: string,\n    leavingAtTo?: string,\n    offeringAtFrom?: string,\n    offeringAtTo?: string,\n    durationFrom?: string,\n    durationTo?: string,\n    offeredAgentId?: Array<string>,\n    options?: any\n  ) {\n    return MemberServiceApiFp(this.configuration)\n      .searchAttemptsHistory(\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        joinedAtFrom,\n        joinedAtTo,\n        id,\n        queueId,\n        bucketId,\n        memberId,\n        agentId,\n        result,\n        leavingAtFrom,\n        leavingAtTo,\n        offeringAtFrom,\n        offeringAtTo,\n        durationFrom,\n        durationTo,\n        offeredAgentId,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary SearchMemberAttempts\n   * @param {string} queueId\n   * @param {string} memberId\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof MemberServiceApi\n   */\n  public searchMemberAttempts(\n    queueId: string,\n    memberId: string,\n    domainId?: string,\n    options?: any\n  ) {\n    return MemberServiceApiFp(this.configuration)\n      .searchMemberAttempts(queueId, memberId, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary List of Member\n   * @param {number} queueId\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<string>} [id]\n   * @param {Array<number>} [bucketId]\n   * @param {string} [destination]\n   * @param {string} [createdAtFrom]\n   * @param {string} [createdAtTo]\n   * @param {string} [offeringAtFrom]\n   * @param {string} [offeringAtTo]\n   * @param {Array<string>} [stopCause]\n   * @param {string} [priorityFrom]\n   * @param {string} [priorityTo]\n   * @param {string} [name]\n   * @param {string} [attemptsFrom]\n   * @param {string} [attemptsTo]\n   * @param {Array<number>} [agentId]\n   * @param {string} [variablesString] This is a request variable of the map type. The query format is \\&quot;map_name[key]&#x3D;value\\&quot;, e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\\&quot;bob\\&quot;]&#x3D;18\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof MemberServiceApi\n   */\n  public searchMemberInQueue(\n    queueId: number,\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<string>,\n    bucketId?: Array<number>,\n    destination?: string,\n    createdAtFrom?: string,\n    createdAtTo?: string,\n    offeringAtFrom?: string,\n    offeringAtTo?: string,\n    stopCause?: Array<string>,\n    priorityFrom?: string,\n    priorityTo?: string,\n    name?: string,\n    attemptsFrom?: string,\n    attemptsTo?: string,\n    agentId?: Array<number>,\n    variablesString?: string,\n    options?: any\n  ) {\n    return MemberServiceApiFp(this.configuration)\n      .searchMemberInQueue(\n        queueId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        bucketId,\n        destination,\n        createdAtFrom,\n        createdAtTo,\n        offeringAtFrom,\n        offeringAtTo,\n        stopCause,\n        priorityFrom,\n        priorityTo,\n        name,\n        attemptsFrom,\n        attemptsTo,\n        agentId,\n        variablesString,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Search of Member\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<string>} [id]\n   * @param {Array<number>} [queueId]\n   * @param {Array<number>} [bucketId]\n   * @param {string} [destination]\n   * @param {string} [createdAtFrom]\n   * @param {string} [createdAtTo]\n   * @param {string} [offeringAtFrom]\n   * @param {string} [offeringAtTo]\n   * @param {Array<string>} [stopCause]\n   * @param {string} [priorityFrom]\n   * @param {string} [priorityTo]\n   * @param {string} [name]\n   * @param {string} [attemptsFrom]\n   * @param {string} [attemptsTo]\n   * @param {Array<number>} [agentId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof MemberServiceApi\n   */\n  public searchMembers(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<string>,\n    queueId?: Array<number>,\n    bucketId?: Array<number>,\n    destination?: string,\n    createdAtFrom?: string,\n    createdAtTo?: string,\n    offeringAtFrom?: string,\n    offeringAtTo?: string,\n    stopCause?: Array<string>,\n    priorityFrom?: string,\n    priorityTo?: string,\n    name?: string,\n    attemptsFrom?: string,\n    attemptsTo?: string,\n    agentId?: Array<number>,\n    options?: any\n  ) {\n    return MemberServiceApiFp(this.configuration)\n      .searchMembers(\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        queueId,\n        bucketId,\n        destination,\n        createdAtFrom,\n        createdAtTo,\n        offeringAtFrom,\n        offeringAtTo,\n        stopCause,\n        priorityFrom,\n        priorityTo,\n        name,\n        attemptsFrom,\n        attemptsTo,\n        agentId,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary UpdateMember\n   * @param {string} queueId\n   * @param {string} id\n   * @param {EngineMemberServiceUpdateMemberBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof MemberServiceApi\n   */\n  public updateMember(\n    queueId: string,\n    id: string,\n    body: EngineMemberServiceUpdateMemberBody,\n    options?: any\n  ) {\n    return MemberServiceApiFp(this.configuration)\n      .updateMember(queueId, id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n// @ts-ignore\nimport { WebitelChatBroadcastMessageRequest } from '../api'\n// @ts-ignore\nimport { WebitelChatBroadcastMessageResponse } from '../api'\n/**\n * MessagesServiceApi - axios parameter creator\n * @export\n */\nexport const MessagesServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Broadcast message send message from via to peer recipients.\n     * @param {WebitelChatBroadcastMessageRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    broadcastMessage: async (\n      body: WebitelChatBroadcastMessageRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling broadcastMessage.'\n        )\n      }\n      const localVarPath = `/chat/broadcast`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * MessagesServiceApi - functional programming interface\n * @export\n */\nexport const MessagesServiceApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Broadcast message send message from via to peer recipients.\n     * @param {WebitelChatBroadcastMessageRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async broadcastMessage(\n      body: WebitelChatBroadcastMessageRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelChatBroadcastMessageResponse>\n    > {\n      const localVarAxiosArgs = await MessagesServiceApiAxiosParamCreator(\n        configuration\n      ).broadcastMessage(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * MessagesServiceApi - factory interface\n * @export\n */\nexport const MessagesServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Broadcast message send message from via to peer recipients.\n     * @param {WebitelChatBroadcastMessageRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    broadcastMessage(\n      body: WebitelChatBroadcastMessageRequest,\n      options?: any\n    ): AxiosPromise<WebitelChatBroadcastMessageResponse> {\n      return MessagesServiceApiFp(configuration)\n        .broadcastMessage(body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * MessagesServiceApi - object-oriented interface\n * @export\n * @class MessagesServiceApi\n * @extends {BaseAPI}\n */\nexport class MessagesServiceApi extends BaseAPI {\n  /**\n   *\n   * @summary Broadcast message send message from via to peer recipients.\n   * @param {WebitelChatBroadcastMessageRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof MessagesServiceApi\n   */\n  public broadcastMessage(\n    body: WebitelChatBroadcastMessageRequest,\n    options?: any\n  ) {\n    return MessagesServiceApiFp(this.configuration)\n      .broadcastMessage(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { ApiDeleteOAuthServiceRequest } from '../api'\n// @ts-ignore\nimport { ApiOAuth2FederationDeleteOAuthServiceBody } from '../api'\n// @ts-ignore\nimport { ApiOAuth2FederationUpdateOAuthServiceBody } from '../api'\n// @ts-ignore\nimport { ApiOAuthService } from '../api'\n// @ts-ignore\nimport { ApiSearchOAuthServiceResponse } from '../api'\n/**\n * OAuth2FederationApi - axios parameter creator\n * @export\n */\nexport const OAuth2FederationApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {ApiOAuthService} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createOAuthService: async (\n      body: ApiOAuthService,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createOAuthService.'\n        )\n      }\n      const localVarPath = `/oauth/apps`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {ApiDeleteOAuthServiceRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteOAuthService: async (\n      body: ApiDeleteOAuthServiceRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling deleteOAuthService.'\n        )\n      }\n      const localVarPath = `/oauth/apps`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {Array<string>} id\n     * @param {ApiOAuth2FederationDeleteOAuthServiceBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteOAuthService2: async (\n      id: Array<string>,\n      body: ApiOAuth2FederationDeleteOAuthServiceBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteOAuthService2.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling deleteOAuthService2.'\n        )\n      }\n      const localVarPath = `/oauth/apps/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {Array<string>} id ----- Search Basic Filters ---------------------------  selection: by unique identifier\n     * @param {number} [page] ----- Select Options -------------------------  default: 1\n     * @param {number} [size] default: 16\n     * @param {Array<string>} [fields] attributes list\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {string} [q] term-of-search: lookup[name]\n     * @param {string} [name] case-ignore substring match: ILIKE \\&#39;*\\&#39; - any; \\&#39;?\\&#39; - one\n     * @param {string} [access] [M]andatory[A]ccess[C]ontrol: with access mode (action) granted!\n     * @param {boolean} [enabled] ----- OAuthService-Specific Filters ----------------\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateOAuthService: async (\n      id: Array<string>,\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      q?: string,\n      name?: string,\n      access?: string,\n      enabled?: boolean,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling locateOAuthService.'\n        )\n      }\n      const localVarPath = `/oauth/apps/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (name !== undefined) {\n        localVarQueryParameter['name'] = name\n      }\n\n      if (access !== undefined) {\n        localVarQueryParameter['access'] = access\n      }\n\n      if (enabled !== undefined) {\n        localVarQueryParameter['enabled'] = enabled\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} [page] ----- Select Options -------------------------  default: 1\n     * @param {number} [size] default: 16\n     * @param {Array<string>} [fields] attributes list\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {Array<string>} [id] ----- Search Basic Filters ---------------------------  selection: by unique identifier\n     * @param {string} [q] term-of-search: lookup[name]\n     * @param {string} [name] case-ignore substring match: ILIKE \\&#39;*\\&#39; - any; \\&#39;?\\&#39; - one\n     * @param {string} [access] [M]andatory[A]ccess[C]ontrol: with access mode (action) granted!\n     * @param {boolean} [enabled] ----- OAuthService-Specific Filters ----------------\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchOAuthService: async (\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      id?: Array<string>,\n      q?: string,\n      name?: string,\n      access?: string,\n      enabled?: boolean,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/oauth/apps`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (name !== undefined) {\n        localVarQueryParameter['name'] = name\n      }\n\n      if (access !== undefined) {\n        localVarQueryParameter['access'] = access\n      }\n\n      if (enabled !== undefined) {\n        localVarQueryParameter['enabled'] = enabled\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} changesId\n     * @param {ApiOAuth2FederationUpdateOAuthServiceBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateOAuthService: async (\n      changesId: string,\n      body: ApiOAuth2FederationUpdateOAuthServiceBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'changesId' is not null or undefined\n      if (changesId === null || changesId === undefined) {\n        throw new RequiredError(\n          'changesId',\n          'Required parameter changesId was null or undefined when calling updateOAuthService.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateOAuthService.'\n        )\n      }\n      const localVarPath = `/oauth/apps/{changes.id}`.replace(\n        `{${'changes.id'}}`,\n        encodeURIComponent(String(changesId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} changesId\n     * @param {ApiOAuth2FederationUpdateOAuthServiceBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateOAuthService2: async (\n      changesId: string,\n      body: ApiOAuth2FederationUpdateOAuthServiceBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'changesId' is not null or undefined\n      if (changesId === null || changesId === undefined) {\n        throw new RequiredError(\n          'changesId',\n          'Required parameter changesId was null or undefined when calling updateOAuthService2.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateOAuthService2.'\n        )\n      }\n      const localVarPath = `/oauth/apps/{changes.id}`.replace(\n        `{${'changes.id'}}`,\n        encodeURIComponent(String(changesId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * OAuth2FederationApi - functional programming interface\n * @export\n */\nexport const OAuth2FederationApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @param {ApiOAuthService} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createOAuthService(\n      body: ApiOAuthService,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiOAuthService>\n    > {\n      const localVarAxiosArgs = await OAuth2FederationApiAxiosParamCreator(\n        configuration\n      ).createOAuthService(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {ApiDeleteOAuthServiceRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteOAuthService(\n      body: ApiDeleteOAuthServiceRequest,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>\n    > {\n      const localVarAxiosArgs = await OAuth2FederationApiAxiosParamCreator(\n        configuration\n      ).deleteOAuthService(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {Array<string>} id\n     * @param {ApiOAuth2FederationDeleteOAuthServiceBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteOAuthService2(\n      id: Array<string>,\n      body: ApiOAuth2FederationDeleteOAuthServiceBody,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>\n    > {\n      const localVarAxiosArgs = await OAuth2FederationApiAxiosParamCreator(\n        configuration\n      ).deleteOAuthService2(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {Array<string>} id ----- Search Basic Filters ---------------------------  selection: by unique identifier\n     * @param {number} [page] ----- Select Options -------------------------  default: 1\n     * @param {number} [size] default: 16\n     * @param {Array<string>} [fields] attributes list\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {string} [q] term-of-search: lookup[name]\n     * @param {string} [name] case-ignore substring match: ILIKE \\&#39;*\\&#39; - any; \\&#39;?\\&#39; - one\n     * @param {string} [access] [M]andatory[A]ccess[C]ontrol: with access mode (action) granted!\n     * @param {boolean} [enabled] ----- OAuthService-Specific Filters ----------------\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async locateOAuthService(\n      id: Array<string>,\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      q?: string,\n      name?: string,\n      access?: string,\n      enabled?: boolean,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiOAuthService>\n    > {\n      const localVarAxiosArgs = await OAuth2FederationApiAxiosParamCreator(\n        configuration\n      ).locateOAuthService(\n        id,\n        page,\n        size,\n        fields,\n        sort,\n        q,\n        name,\n        access,\n        enabled,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} [page] ----- Select Options -------------------------  default: 1\n     * @param {number} [size] default: 16\n     * @param {Array<string>} [fields] attributes list\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {Array<string>} [id] ----- Search Basic Filters ---------------------------  selection: by unique identifier\n     * @param {string} [q] term-of-search: lookup[name]\n     * @param {string} [name] case-ignore substring match: ILIKE \\&#39;*\\&#39; - any; \\&#39;?\\&#39; - one\n     * @param {string} [access] [M]andatory[A]ccess[C]ontrol: with access mode (action) granted!\n     * @param {boolean} [enabled] ----- OAuthService-Specific Filters ----------------\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchOAuthService(\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      id?: Array<string>,\n      q?: string,\n      name?: string,\n      access?: string,\n      enabled?: boolean,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiSearchOAuthServiceResponse>\n    > {\n      const localVarAxiosArgs = await OAuth2FederationApiAxiosParamCreator(\n        configuration\n      ).searchOAuthService(\n        page,\n        size,\n        fields,\n        sort,\n        id,\n        q,\n        name,\n        access,\n        enabled,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} changesId\n     * @param {ApiOAuth2FederationUpdateOAuthServiceBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateOAuthService(\n      changesId: string,\n      body: ApiOAuth2FederationUpdateOAuthServiceBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiOAuthService>\n    > {\n      const localVarAxiosArgs = await OAuth2FederationApiAxiosParamCreator(\n        configuration\n      ).updateOAuthService(changesId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} changesId\n     * @param {ApiOAuth2FederationUpdateOAuthServiceBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateOAuthService2(\n      changesId: string,\n      body: ApiOAuth2FederationUpdateOAuthServiceBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiOAuthService>\n    > {\n      const localVarAxiosArgs = await OAuth2FederationApiAxiosParamCreator(\n        configuration\n      ).updateOAuthService2(changesId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * OAuth2FederationApi - factory interface\n * @export\n */\nexport const OAuth2FederationApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {ApiOAuthService} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createOAuthService(\n      body: ApiOAuthService,\n      options?: any\n    ): AxiosPromise<ApiOAuthService> {\n      return OAuth2FederationApiFp(configuration)\n        .createOAuthService(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {ApiDeleteOAuthServiceRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteOAuthService(\n      body: ApiDeleteOAuthServiceRequest,\n      options?: any\n    ): AxiosPromise<object> {\n      return OAuth2FederationApiFp(configuration)\n        .deleteOAuthService(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {Array<string>} id\n     * @param {ApiOAuth2FederationDeleteOAuthServiceBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteOAuthService2(\n      id: Array<string>,\n      body: ApiOAuth2FederationDeleteOAuthServiceBody,\n      options?: any\n    ): AxiosPromise<object> {\n      return OAuth2FederationApiFp(configuration)\n        .deleteOAuthService2(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {Array<string>} id ----- Search Basic Filters ---------------------------  selection: by unique identifier\n     * @param {number} [page] ----- Select Options -------------------------  default: 1\n     * @param {number} [size] default: 16\n     * @param {Array<string>} [fields] attributes list\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {string} [q] term-of-search: lookup[name]\n     * @param {string} [name] case-ignore substring match: ILIKE \\&#39;*\\&#39; - any; \\&#39;?\\&#39; - one\n     * @param {string} [access] [M]andatory[A]ccess[C]ontrol: with access mode (action) granted!\n     * @param {boolean} [enabled] ----- OAuthService-Specific Filters ----------------\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateOAuthService(\n      id: Array<string>,\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      q?: string,\n      name?: string,\n      access?: string,\n      enabled?: boolean,\n      options?: any\n    ): AxiosPromise<ApiOAuthService> {\n      return OAuth2FederationApiFp(configuration)\n        .locateOAuthService(\n          id,\n          page,\n          size,\n          fields,\n          sort,\n          q,\n          name,\n          access,\n          enabled,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} [page] ----- Select Options -------------------------  default: 1\n     * @param {number} [size] default: 16\n     * @param {Array<string>} [fields] attributes list\n     * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n     * @param {Array<string>} [id] ----- Search Basic Filters ---------------------------  selection: by unique identifier\n     * @param {string} [q] term-of-search: lookup[name]\n     * @param {string} [name] case-ignore substring match: ILIKE \\&#39;*\\&#39; - any; \\&#39;?\\&#39; - one\n     * @param {string} [access] [M]andatory[A]ccess[C]ontrol: with access mode (action) granted!\n     * @param {boolean} [enabled] ----- OAuthService-Specific Filters ----------------\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchOAuthService(\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      id?: Array<string>,\n      q?: string,\n      name?: string,\n      access?: string,\n      enabled?: boolean,\n      options?: any\n    ): AxiosPromise<ApiSearchOAuthServiceResponse> {\n      return OAuth2FederationApiFp(configuration)\n        .searchOAuthService(\n          page,\n          size,\n          fields,\n          sort,\n          id,\n          q,\n          name,\n          access,\n          enabled,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} changesId\n     * @param {ApiOAuth2FederationUpdateOAuthServiceBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateOAuthService(\n      changesId: string,\n      body: ApiOAuth2FederationUpdateOAuthServiceBody,\n      options?: any\n    ): AxiosPromise<ApiOAuthService> {\n      return OAuth2FederationApiFp(configuration)\n        .updateOAuthService(changesId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} changesId\n     * @param {ApiOAuth2FederationUpdateOAuthServiceBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateOAuthService2(\n      changesId: string,\n      body: ApiOAuth2FederationUpdateOAuthServiceBody,\n      options?: any\n    ): AxiosPromise<ApiOAuthService> {\n      return OAuth2FederationApiFp(configuration)\n        .updateOAuthService2(changesId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * OAuth2FederationApi - object-oriented interface\n * @export\n * @class OAuth2FederationApi\n * @extends {BaseAPI}\n */\nexport class OAuth2FederationApi extends BaseAPI {\n  /**\n   *\n   * @param {ApiOAuthService} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof OAuth2FederationApi\n   */\n  public createOAuthService(body: ApiOAuthService, options?: any) {\n    return OAuth2FederationApiFp(this.configuration)\n      .createOAuthService(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {ApiDeleteOAuthServiceRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof OAuth2FederationApi\n   */\n  public deleteOAuthService(body: ApiDeleteOAuthServiceRequest, options?: any) {\n    return OAuth2FederationApiFp(this.configuration)\n      .deleteOAuthService(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {Array<string>} id\n   * @param {ApiOAuth2FederationDeleteOAuthServiceBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof OAuth2FederationApi\n   */\n  public deleteOAuthService2(\n    id: Array<string>,\n    body: ApiOAuth2FederationDeleteOAuthServiceBody,\n    options?: any\n  ) {\n    return OAuth2FederationApiFp(this.configuration)\n      .deleteOAuthService2(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {Array<string>} id ----- Search Basic Filters ---------------------------  selection: by unique identifier\n   * @param {number} [page] ----- Select Options -------------------------  default: 1\n   * @param {number} [size] default: 16\n   * @param {Array<string>} [fields] attributes list\n   * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n   * @param {string} [q] term-of-search: lookup[name]\n   * @param {string} [name] case-ignore substring match: ILIKE \\&#39;*\\&#39; - any; \\&#39;?\\&#39; - one\n   * @param {string} [access] [M]andatory[A]ccess[C]ontrol: with access mode (action) granted!\n   * @param {boolean} [enabled] ----- OAuthService-Specific Filters ----------------\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof OAuth2FederationApi\n   */\n  public locateOAuthService(\n    id: Array<string>,\n    page?: number,\n    size?: number,\n    fields?: Array<string>,\n    sort?: Array<string>,\n    q?: string,\n    name?: string,\n    access?: string,\n    enabled?: boolean,\n    options?: any\n  ) {\n    return OAuth2FederationApiFp(this.configuration)\n      .locateOAuthService(\n        id,\n        page,\n        size,\n        fields,\n        sort,\n        q,\n        name,\n        access,\n        enabled,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} [page] ----- Select Options -------------------------  default: 1\n   * @param {number} [size] default: 16\n   * @param {Array<string>} [fields] attributes list\n   * @param {Array<string>} [sort] e.g.: \\&quot;updated_at\\&quot; - ASC; \\&quot;!updated_at\\&quot; - DESC;\n   * @param {Array<string>} [id] ----- Search Basic Filters ---------------------------  selection: by unique identifier\n   * @param {string} [q] term-of-search: lookup[name]\n   * @param {string} [name] case-ignore substring match: ILIKE \\&#39;*\\&#39; - any; \\&#39;?\\&#39; - one\n   * @param {string} [access] [M]andatory[A]ccess[C]ontrol: with access mode (action) granted!\n   * @param {boolean} [enabled] ----- OAuthService-Specific Filters ----------------\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof OAuth2FederationApi\n   */\n  public searchOAuthService(\n    page?: number,\n    size?: number,\n    fields?: Array<string>,\n    sort?: Array<string>,\n    id?: Array<string>,\n    q?: string,\n    name?: string,\n    access?: string,\n    enabled?: boolean,\n    options?: any\n  ) {\n    return OAuth2FederationApiFp(this.configuration)\n      .searchOAuthService(\n        page,\n        size,\n        fields,\n        sort,\n        id,\n        q,\n        name,\n        access,\n        enabled,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} changesId\n   * @param {ApiOAuth2FederationUpdateOAuthServiceBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof OAuth2FederationApi\n   */\n  public updateOAuthService(\n    changesId: string,\n    body: ApiOAuth2FederationUpdateOAuthServiceBody,\n    options?: any\n  ) {\n    return OAuth2FederationApiFp(this.configuration)\n      .updateOAuthService(changesId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} changesId\n   * @param {ApiOAuth2FederationUpdateOAuthServiceBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof OAuth2FederationApi\n   */\n  public updateOAuthService2(\n    changesId: string,\n    body: ApiOAuth2FederationUpdateOAuthServiceBody,\n    options?: any\n  ) {\n    return OAuth2FederationApiFp(this.configuration)\n      .updateOAuthService2(changesId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { EngineCreateOutboundResourceGroupRequest } from '../api'\n// @ts-ignore\nimport { EngineListOutboundResourceGroup } from '../api'\n// @ts-ignore\nimport { EngineListOutboundResourceInGroup } from '../api'\n// @ts-ignore\nimport { EngineOutboundResourceGroup } from '../api'\n// @ts-ignore\nimport { EngineOutboundResourceGroupServiceCreateOutboundResourceInGroupBody } from '../api'\n// @ts-ignore\nimport { EngineOutboundResourceGroupServiceUpdateOutboundResourceGroupBody } from '../api'\n// @ts-ignore\nimport { EngineOutboundResourceGroupServiceUpdateOutboundResourceInGroupBody } from '../api'\n// @ts-ignore\nimport { EngineOutboundResourceInGroup } from '../api'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n/**\n * OutboundResourceGroupServiceApi - axios parameter creator\n * @export\n */\nexport const OutboundResourceGroupServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create OutboundResourceGroup\n     * @param {EngineCreateOutboundResourceGroupRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createOutboundResourceGroup: async (\n      body: EngineCreateOutboundResourceGroupRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createOutboundResourceGroup.'\n        )\n      }\n      const localVarPath = `/call_center/resource_group`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Create OutboundResourceGroup\n     * @param {string} groupId\n     * @param {EngineOutboundResourceGroupServiceCreateOutboundResourceInGroupBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createOutboundResourceInGroup: async (\n      groupId: string,\n      body: EngineOutboundResourceGroupServiceCreateOutboundResourceInGroupBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'groupId' is not null or undefined\n      if (groupId === null || groupId === undefined) {\n        throw new RequiredError(\n          'groupId',\n          'Required parameter groupId was null or undefined when calling createOutboundResourceInGroup.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createOutboundResourceInGroup.'\n        )\n      }\n      const localVarPath = `/call_center/resource_group/{group_id}/resource`.replace(\n        `{${'group_id'}}`,\n        encodeURIComponent(String(groupId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Remove OutboundResourceGroup\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteOutboundResourceGroup: async (\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteOutboundResourceGroup.'\n        )\n      }\n      const localVarPath = `/call_center/resource_group/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Remove OutboundResourceInGroup\n     * @param {string} groupId\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteOutboundResourceInGroup: async (\n      groupId: string,\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'groupId' is not null or undefined\n      if (groupId === null || groupId === undefined) {\n        throw new RequiredError(\n          'groupId',\n          'Required parameter groupId was null or undefined when calling deleteOutboundResourceInGroup.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteOutboundResourceInGroup.'\n        )\n      }\n      const localVarPath = `/call_center/resource_group/{group_id}/resource/{id}`\n        .replace(`{${'group_id'}}`, encodeURIComponent(String(groupId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary OutboundResourceGroup item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readOutboundResourceGroup: async (\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readOutboundResourceGroup.'\n        )\n      }\n      const localVarPath = `/call_center/resource_group/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary OutboundResourceInGroup item\n     * @param {string} groupId\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readOutboundResourceInGroup: async (\n      groupId: string,\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'groupId' is not null or undefined\n      if (groupId === null || groupId === undefined) {\n        throw new RequiredError(\n          'groupId',\n          'Required parameter groupId was null or undefined when calling readOutboundResourceInGroup.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readOutboundResourceInGroup.'\n        )\n      }\n      const localVarPath = `/call_center/resource_group/{group_id}/resource/{id}`\n        .replace(`{${'group_id'}}`, encodeURIComponent(String(groupId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary List of OutboundResourceGroup\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchOutboundResourceGroup: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/call_center/resource_group`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary List of OutboundResourceInGroup\n     * @param {string} groupId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchOutboundResourceInGroup: async (\n      groupId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'groupId' is not null or undefined\n      if (groupId === null || groupId === undefined) {\n        throw new RequiredError(\n          'groupId',\n          'Required parameter groupId was null or undefined when calling searchOutboundResourceInGroup.'\n        )\n      }\n      const localVarPath = `/call_center/resource_group/{group_id}/resource`.replace(\n        `{${'group_id'}}`,\n        encodeURIComponent(String(groupId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update OutboundResourceGroup\n     * @param {string} id\n     * @param {EngineOutboundResourceGroupServiceUpdateOutboundResourceGroupBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateOutboundResourceGroup: async (\n      id: string,\n      body: EngineOutboundResourceGroupServiceUpdateOutboundResourceGroupBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateOutboundResourceGroup.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateOutboundResourceGroup.'\n        )\n      }\n      const localVarPath = `/call_center/resource_group/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update OutboundResourceInGroup\n     * @param {string} groupId\n     * @param {string} id\n     * @param {EngineOutboundResourceGroupServiceUpdateOutboundResourceInGroupBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateOutboundResourceInGroup: async (\n      groupId: string,\n      id: string,\n      body: EngineOutboundResourceGroupServiceUpdateOutboundResourceInGroupBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'groupId' is not null or undefined\n      if (groupId === null || groupId === undefined) {\n        throw new RequiredError(\n          'groupId',\n          'Required parameter groupId was null or undefined when calling updateOutboundResourceInGroup.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateOutboundResourceInGroup.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateOutboundResourceInGroup.'\n        )\n      }\n      const localVarPath = `/call_center/resource_group/{group_id}/resource/{id}`\n        .replace(`{${'group_id'}}`, encodeURIComponent(String(groupId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * OutboundResourceGroupServiceApi - functional programming interface\n * @export\n */\nexport const OutboundResourceGroupServiceApiFp = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create OutboundResourceGroup\n     * @param {EngineCreateOutboundResourceGroupRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createOutboundResourceGroup(\n      body: EngineCreateOutboundResourceGroupRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineOutboundResourceGroup>\n    > {\n      const localVarAxiosArgs = await OutboundResourceGroupServiceApiAxiosParamCreator(\n        configuration\n      ).createOutboundResourceGroup(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Create OutboundResourceGroup\n     * @param {string} groupId\n     * @param {EngineOutboundResourceGroupServiceCreateOutboundResourceInGroupBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createOutboundResourceInGroup(\n      groupId: string,\n      body: EngineOutboundResourceGroupServiceCreateOutboundResourceInGroupBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineOutboundResourceInGroup>\n    > {\n      const localVarAxiosArgs = await OutboundResourceGroupServiceApiAxiosParamCreator(\n        configuration\n      ).createOutboundResourceInGroup(groupId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Remove OutboundResourceGroup\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteOutboundResourceGroup(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineOutboundResourceGroup>\n    > {\n      const localVarAxiosArgs = await OutboundResourceGroupServiceApiAxiosParamCreator(\n        configuration\n      ).deleteOutboundResourceGroup(id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Remove OutboundResourceInGroup\n     * @param {string} groupId\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteOutboundResourceInGroup(\n      groupId: string,\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineOutboundResourceInGroup>\n    > {\n      const localVarAxiosArgs = await OutboundResourceGroupServiceApiAxiosParamCreator(\n        configuration\n      ).deleteOutboundResourceInGroup(groupId, id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary OutboundResourceGroup item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readOutboundResourceGroup(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineOutboundResourceGroup>\n    > {\n      const localVarAxiosArgs = await OutboundResourceGroupServiceApiAxiosParamCreator(\n        configuration\n      ).readOutboundResourceGroup(id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary OutboundResourceInGroup item\n     * @param {string} groupId\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readOutboundResourceInGroup(\n      groupId: string,\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineOutboundResourceInGroup>\n    > {\n      const localVarAxiosArgs = await OutboundResourceGroupServiceApiAxiosParamCreator(\n        configuration\n      ).readOutboundResourceInGroup(groupId, id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary List of OutboundResourceGroup\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchOutboundResourceGroup(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListOutboundResourceGroup>\n    > {\n      const localVarAxiosArgs = await OutboundResourceGroupServiceApiAxiosParamCreator(\n        configuration\n      ).searchOutboundResourceGroup(page, size, q, sort, fields, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary List of OutboundResourceInGroup\n     * @param {string} groupId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchOutboundResourceInGroup(\n      groupId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListOutboundResourceInGroup>\n    > {\n      const localVarAxiosArgs = await OutboundResourceGroupServiceApiAxiosParamCreator(\n        configuration\n      ).searchOutboundResourceInGroup(\n        groupId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update OutboundResourceGroup\n     * @param {string} id\n     * @param {EngineOutboundResourceGroupServiceUpdateOutboundResourceGroupBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateOutboundResourceGroup(\n      id: string,\n      body: EngineOutboundResourceGroupServiceUpdateOutboundResourceGroupBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineOutboundResourceGroup>\n    > {\n      const localVarAxiosArgs = await OutboundResourceGroupServiceApiAxiosParamCreator(\n        configuration\n      ).updateOutboundResourceGroup(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update OutboundResourceInGroup\n     * @param {string} groupId\n     * @param {string} id\n     * @param {EngineOutboundResourceGroupServiceUpdateOutboundResourceInGroupBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateOutboundResourceInGroup(\n      groupId: string,\n      id: string,\n      body: EngineOutboundResourceGroupServiceUpdateOutboundResourceInGroupBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineOutboundResourceInGroup>\n    > {\n      const localVarAxiosArgs = await OutboundResourceGroupServiceApiAxiosParamCreator(\n        configuration\n      ).updateOutboundResourceInGroup(groupId, id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * OutboundResourceGroupServiceApi - factory interface\n * @export\n */\nexport const OutboundResourceGroupServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Create OutboundResourceGroup\n     * @param {EngineCreateOutboundResourceGroupRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createOutboundResourceGroup(\n      body: EngineCreateOutboundResourceGroupRequest,\n      options?: any\n    ): AxiosPromise<EngineOutboundResourceGroup> {\n      return OutboundResourceGroupServiceApiFp(configuration)\n        .createOutboundResourceGroup(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Create OutboundResourceGroup\n     * @param {string} groupId\n     * @param {EngineOutboundResourceGroupServiceCreateOutboundResourceInGroupBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createOutboundResourceInGroup(\n      groupId: string,\n      body: EngineOutboundResourceGroupServiceCreateOutboundResourceInGroupBody,\n      options?: any\n    ): AxiosPromise<EngineOutboundResourceInGroup> {\n      return OutboundResourceGroupServiceApiFp(configuration)\n        .createOutboundResourceInGroup(groupId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Remove OutboundResourceGroup\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteOutboundResourceGroup(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineOutboundResourceGroup> {\n      return OutboundResourceGroupServiceApiFp(configuration)\n        .deleteOutboundResourceGroup(id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Remove OutboundResourceInGroup\n     * @param {string} groupId\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteOutboundResourceInGroup(\n      groupId: string,\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineOutboundResourceInGroup> {\n      return OutboundResourceGroupServiceApiFp(configuration)\n        .deleteOutboundResourceInGroup(groupId, id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary OutboundResourceGroup item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readOutboundResourceGroup(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineOutboundResourceGroup> {\n      return OutboundResourceGroupServiceApiFp(configuration)\n        .readOutboundResourceGroup(id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary OutboundResourceInGroup item\n     * @param {string} groupId\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readOutboundResourceInGroup(\n      groupId: string,\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineOutboundResourceInGroup> {\n      return OutboundResourceGroupServiceApiFp(configuration)\n        .readOutboundResourceInGroup(groupId, id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary List of OutboundResourceGroup\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchOutboundResourceGroup(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options?: any\n    ): AxiosPromise<EngineListOutboundResourceGroup> {\n      return OutboundResourceGroupServiceApiFp(configuration)\n        .searchOutboundResourceGroup(page, size, q, sort, fields, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary List of OutboundResourceInGroup\n     * @param {string} groupId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchOutboundResourceInGroup(\n      groupId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options?: any\n    ): AxiosPromise<EngineListOutboundResourceInGroup> {\n      return OutboundResourceGroupServiceApiFp(configuration)\n        .searchOutboundResourceInGroup(\n          groupId,\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          id,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update OutboundResourceGroup\n     * @param {string} id\n     * @param {EngineOutboundResourceGroupServiceUpdateOutboundResourceGroupBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateOutboundResourceGroup(\n      id: string,\n      body: EngineOutboundResourceGroupServiceUpdateOutboundResourceGroupBody,\n      options?: any\n    ): AxiosPromise<EngineOutboundResourceGroup> {\n      return OutboundResourceGroupServiceApiFp(configuration)\n        .updateOutboundResourceGroup(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update OutboundResourceInGroup\n     * @param {string} groupId\n     * @param {string} id\n     * @param {EngineOutboundResourceGroupServiceUpdateOutboundResourceInGroupBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateOutboundResourceInGroup(\n      groupId: string,\n      id: string,\n      body: EngineOutboundResourceGroupServiceUpdateOutboundResourceInGroupBody,\n      options?: any\n    ): AxiosPromise<EngineOutboundResourceInGroup> {\n      return OutboundResourceGroupServiceApiFp(configuration)\n        .updateOutboundResourceInGroup(groupId, id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * OutboundResourceGroupServiceApi - object-oriented interface\n * @export\n * @class OutboundResourceGroupServiceApi\n * @extends {BaseAPI}\n */\nexport class OutboundResourceGroupServiceApi extends BaseAPI {\n  /**\n   *\n   * @summary Create OutboundResourceGroup\n   * @param {EngineCreateOutboundResourceGroupRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof OutboundResourceGroupServiceApi\n   */\n  public createOutboundResourceGroup(\n    body: EngineCreateOutboundResourceGroupRequest,\n    options?: any\n  ) {\n    return OutboundResourceGroupServiceApiFp(this.configuration)\n      .createOutboundResourceGroup(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Create OutboundResourceGroup\n   * @param {string} groupId\n   * @param {EngineOutboundResourceGroupServiceCreateOutboundResourceInGroupBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof OutboundResourceGroupServiceApi\n   */\n  public createOutboundResourceInGroup(\n    groupId: string,\n    body: EngineOutboundResourceGroupServiceCreateOutboundResourceInGroupBody,\n    options?: any\n  ) {\n    return OutboundResourceGroupServiceApiFp(this.configuration)\n      .createOutboundResourceInGroup(groupId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Remove OutboundResourceGroup\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof OutboundResourceGroupServiceApi\n   */\n  public deleteOutboundResourceGroup(\n    id: string,\n    domainId?: string,\n    options?: any\n  ) {\n    return OutboundResourceGroupServiceApiFp(this.configuration)\n      .deleteOutboundResourceGroup(id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Remove OutboundResourceInGroup\n   * @param {string} groupId\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof OutboundResourceGroupServiceApi\n   */\n  public deleteOutboundResourceInGroup(\n    groupId: string,\n    id: string,\n    domainId?: string,\n    options?: any\n  ) {\n    return OutboundResourceGroupServiceApiFp(this.configuration)\n      .deleteOutboundResourceInGroup(groupId, id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary OutboundResourceGroup item\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof OutboundResourceGroupServiceApi\n   */\n  public readOutboundResourceGroup(\n    id: string,\n    domainId?: string,\n    options?: any\n  ) {\n    return OutboundResourceGroupServiceApiFp(this.configuration)\n      .readOutboundResourceGroup(id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary OutboundResourceInGroup item\n   * @param {string} groupId\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof OutboundResourceGroupServiceApi\n   */\n  public readOutboundResourceInGroup(\n    groupId: string,\n    id: string,\n    domainId?: string,\n    options?: any\n  ) {\n    return OutboundResourceGroupServiceApiFp(this.configuration)\n      .readOutboundResourceInGroup(groupId, id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary List of OutboundResourceGroup\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<number>} [id]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof OutboundResourceGroupServiceApi\n   */\n  public searchOutboundResourceGroup(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<number>,\n    options?: any\n  ) {\n    return OutboundResourceGroupServiceApiFp(this.configuration)\n      .searchOutboundResourceGroup(page, size, q, sort, fields, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary List of OutboundResourceInGroup\n   * @param {string} groupId\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<number>} [id]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof OutboundResourceGroupServiceApi\n   */\n  public searchOutboundResourceInGroup(\n    groupId: string,\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<number>,\n    options?: any\n  ) {\n    return OutboundResourceGroupServiceApiFp(this.configuration)\n      .searchOutboundResourceInGroup(\n        groupId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update OutboundResourceGroup\n   * @param {string} id\n   * @param {EngineOutboundResourceGroupServiceUpdateOutboundResourceGroupBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof OutboundResourceGroupServiceApi\n   */\n  public updateOutboundResourceGroup(\n    id: string,\n    body: EngineOutboundResourceGroupServiceUpdateOutboundResourceGroupBody,\n    options?: any\n  ) {\n    return OutboundResourceGroupServiceApiFp(this.configuration)\n      .updateOutboundResourceGroup(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update OutboundResourceInGroup\n   * @param {string} groupId\n   * @param {string} id\n   * @param {EngineOutboundResourceGroupServiceUpdateOutboundResourceInGroupBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof OutboundResourceGroupServiceApi\n   */\n  public updateOutboundResourceInGroup(\n    groupId: string,\n    id: string,\n    body: EngineOutboundResourceGroupServiceUpdateOutboundResourceInGroupBody,\n    options?: any\n  ) {\n    return OutboundResourceGroupServiceApiFp(this.configuration)\n      .updateOutboundResourceInGroup(groupId, id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { EngineCreateOutboundResourceRequest } from '../api'\n// @ts-ignore\nimport { EngineListOutboundResource } from '../api'\n// @ts-ignore\nimport { EngineListOutboundResourceDisplay } from '../api'\n// @ts-ignore\nimport { EngineListResourceDisplay } from '../api'\n// @ts-ignore\nimport { EngineOutboundResource } from '../api'\n// @ts-ignore\nimport { EngineOutboundResourceServiceCreateOutboundResourceDisplayBody } from '../api'\n// @ts-ignore\nimport { EngineOutboundResourceServiceCreateOutboundResourceDisplayBulkBody } from '../api'\n// @ts-ignore\nimport { EngineOutboundResourceServicePatchOutboundResourceBody } from '../api'\n// @ts-ignore\nimport { EngineOutboundResourceServiceUpdateOutboundResourceBody } from '../api'\n// @ts-ignore\nimport { EngineOutboundResourceServiceUpdateOutboundResourceDisplayBody } from '../api'\n// @ts-ignore\nimport { EngineResourceDisplay } from '../api'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n/**\n * OutboundResourceServiceApi - axios parameter creator\n * @export\n */\nexport const OutboundResourceServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create OutboundResource\n     * @param {EngineCreateOutboundResourceRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createOutboundResource: async (\n      body: EngineCreateOutboundResourceRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createOutboundResource.'\n        )\n      }\n      const localVarPath = `/call_center/resources`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Create CreateOutboundResourceDisplay\n     * @param {string} resourceId\n     * @param {EngineOutboundResourceServiceCreateOutboundResourceDisplayBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createOutboundResourceDisplay: async (\n      resourceId: string,\n      body: EngineOutboundResourceServiceCreateOutboundResourceDisplayBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'resourceId' is not null or undefined\n      if (resourceId === null || resourceId === undefined) {\n        throw new RequiredError(\n          'resourceId',\n          'Required parameter resourceId was null or undefined when calling createOutboundResourceDisplay.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createOutboundResourceDisplay.'\n        )\n      }\n      const localVarPath = `/call_center/resources/{resource_id}/display`.replace(\n        `{${'resource_id'}}`,\n        encodeURIComponent(String(resourceId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Create CreateOutboundResourceDisplay\n     * @param {string} resourceId\n     * @param {EngineOutboundResourceServiceCreateOutboundResourceDisplayBulkBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createOutboundResourceDisplayBulk: async (\n      resourceId: string,\n      body: EngineOutboundResourceServiceCreateOutboundResourceDisplayBulkBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'resourceId' is not null or undefined\n      if (resourceId === null || resourceId === undefined) {\n        throw new RequiredError(\n          'resourceId',\n          'Required parameter resourceId was null or undefined when calling createOutboundResourceDisplayBulk.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createOutboundResourceDisplayBulk.'\n        )\n      }\n      const localVarPath = `/call_center/resources/{resource_id}/display/bulk`.replace(\n        `{${'resource_id'}}`,\n        encodeURIComponent(String(resourceId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Remove OutboundResource\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteOutboundResource: async (\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteOutboundResource.'\n        )\n      }\n      const localVarPath = `/call_center/resources/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Remove ResourceDisplay\n     * @param {string} resourceId\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteOutboundResourceDisplay: async (\n      resourceId: string,\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'resourceId' is not null or undefined\n      if (resourceId === null || resourceId === undefined) {\n        throw new RequiredError(\n          'resourceId',\n          'Required parameter resourceId was null or undefined when calling deleteOutboundResourceDisplay.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteOutboundResourceDisplay.'\n        )\n      }\n      const localVarPath = `/call_center/resources/{resource_id}/display/{id}`\n        .replace(`{${'resource_id'}}`, encodeURIComponent(String(resourceId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Remove ResourceDisplays\n     * @param {string} resourceId\n     * @param {Array<string>} [items]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteOutboundResourceDisplays: async (\n      resourceId: string,\n      items?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'resourceId' is not null or undefined\n      if (resourceId === null || resourceId === undefined) {\n        throw new RequiredError(\n          'resourceId',\n          'Required parameter resourceId was null or undefined when calling deleteOutboundResourceDisplays.'\n        )\n      }\n      const localVarPath = `/call_center/resources/{resource_id}/display`.replace(\n        `{${'resource_id'}}`,\n        encodeURIComponent(String(resourceId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (items) {\n        localVarQueryParameter['items'] = items\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Patch OutboundResource\n     * @param {string} id\n     * @param {EngineOutboundResourceServicePatchOutboundResourceBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchOutboundResource: async (\n      id: string,\n      body: EngineOutboundResourceServicePatchOutboundResourceBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling patchOutboundResource.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling patchOutboundResource.'\n        )\n      }\n      const localVarPath = `/call_center/resources/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary OutboundResource item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readOutboundResource: async (\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readOutboundResource.'\n        )\n      }\n      const localVarPath = `/call_center/resources/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary ResourceDisplay item\n     * @param {string} resourceId\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readOutboundResourceDisplay: async (\n      resourceId: string,\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'resourceId' is not null or undefined\n      if (resourceId === null || resourceId === undefined) {\n        throw new RequiredError(\n          'resourceId',\n          'Required parameter resourceId was null or undefined when calling readOutboundResourceDisplay.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readOutboundResourceDisplay.'\n        )\n      }\n      const localVarPath = `/call_center/resources/{resource_id}/display/{id}`\n        .replace(`{${'resource_id'}}`, encodeURIComponent(String(resourceId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary List of OutboundResource\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchOutboundResource: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/call_center/resources`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary List of ResourceDisplay\n     * @param {string} resourceId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchOutboundResourceDisplay: async (\n      resourceId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'resourceId' is not null or undefined\n      if (resourceId === null || resourceId === undefined) {\n        throw new RequiredError(\n          'resourceId',\n          'Required parameter resourceId was null or undefined when calling searchOutboundResourceDisplay.'\n        )\n      }\n      const localVarPath = `/call_center/resources/{resource_id}/display`.replace(\n        `{${'resource_id'}}`,\n        encodeURIComponent(String(resourceId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update OutboundResource\n     * @param {string} id\n     * @param {EngineOutboundResourceServiceUpdateOutboundResourceBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateOutboundResource: async (\n      id: string,\n      body: EngineOutboundResourceServiceUpdateOutboundResourceBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateOutboundResource.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateOutboundResource.'\n        )\n      }\n      const localVarPath = `/call_center/resources/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update ResourceDisplay\n     * @param {string} resourceId\n     * @param {string} id\n     * @param {EngineOutboundResourceServiceUpdateOutboundResourceDisplayBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateOutboundResourceDisplay: async (\n      resourceId: string,\n      id: string,\n      body: EngineOutboundResourceServiceUpdateOutboundResourceDisplayBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'resourceId' is not null or undefined\n      if (resourceId === null || resourceId === undefined) {\n        throw new RequiredError(\n          'resourceId',\n          'Required parameter resourceId was null or undefined when calling updateOutboundResourceDisplay.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateOutboundResourceDisplay.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateOutboundResourceDisplay.'\n        )\n      }\n      const localVarPath = `/call_center/resources/{resource_id}/display/{id}`\n        .replace(`{${'resource_id'}}`, encodeURIComponent(String(resourceId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * OutboundResourceServiceApi - functional programming interface\n * @export\n */\nexport const OutboundResourceServiceApiFp = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create OutboundResource\n     * @param {EngineCreateOutboundResourceRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createOutboundResource(\n      body: EngineCreateOutboundResourceRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineOutboundResource>\n    > {\n      const localVarAxiosArgs = await OutboundResourceServiceApiAxiosParamCreator(\n        configuration\n      ).createOutboundResource(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Create CreateOutboundResourceDisplay\n     * @param {string} resourceId\n     * @param {EngineOutboundResourceServiceCreateOutboundResourceDisplayBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createOutboundResourceDisplay(\n      resourceId: string,\n      body: EngineOutboundResourceServiceCreateOutboundResourceDisplayBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineResourceDisplay>\n    > {\n      const localVarAxiosArgs = await OutboundResourceServiceApiAxiosParamCreator(\n        configuration\n      ).createOutboundResourceDisplay(resourceId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Create CreateOutboundResourceDisplay\n     * @param {string} resourceId\n     * @param {EngineOutboundResourceServiceCreateOutboundResourceDisplayBulkBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createOutboundResourceDisplayBulk(\n      resourceId: string,\n      body: EngineOutboundResourceServiceCreateOutboundResourceDisplayBulkBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListResourceDisplay>\n    > {\n      const localVarAxiosArgs = await OutboundResourceServiceApiAxiosParamCreator(\n        configuration\n      ).createOutboundResourceDisplayBulk(resourceId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Remove OutboundResource\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteOutboundResource(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineOutboundResource>\n    > {\n      const localVarAxiosArgs = await OutboundResourceServiceApiAxiosParamCreator(\n        configuration\n      ).deleteOutboundResource(id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Remove ResourceDisplay\n     * @param {string} resourceId\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteOutboundResourceDisplay(\n      resourceId: string,\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineResourceDisplay>\n    > {\n      const localVarAxiosArgs = await OutboundResourceServiceApiAxiosParamCreator(\n        configuration\n      ).deleteOutboundResourceDisplay(resourceId, id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Remove ResourceDisplays\n     * @param {string} resourceId\n     * @param {Array<string>} [items]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteOutboundResourceDisplays(\n      resourceId: string,\n      items?: Array<string>,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>\n    > {\n      const localVarAxiosArgs = await OutboundResourceServiceApiAxiosParamCreator(\n        configuration\n      ).deleteOutboundResourceDisplays(resourceId, items, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Patch OutboundResource\n     * @param {string} id\n     * @param {EngineOutboundResourceServicePatchOutboundResourceBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async patchOutboundResource(\n      id: string,\n      body: EngineOutboundResourceServicePatchOutboundResourceBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineOutboundResource>\n    > {\n      const localVarAxiosArgs = await OutboundResourceServiceApiAxiosParamCreator(\n        configuration\n      ).patchOutboundResource(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary OutboundResource item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readOutboundResource(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineOutboundResource>\n    > {\n      const localVarAxiosArgs = await OutboundResourceServiceApiAxiosParamCreator(\n        configuration\n      ).readOutboundResource(id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary ResourceDisplay item\n     * @param {string} resourceId\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readOutboundResourceDisplay(\n      resourceId: string,\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineResourceDisplay>\n    > {\n      const localVarAxiosArgs = await OutboundResourceServiceApiAxiosParamCreator(\n        configuration\n      ).readOutboundResourceDisplay(resourceId, id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary List of OutboundResource\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchOutboundResource(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListOutboundResource>\n    > {\n      const localVarAxiosArgs = await OutboundResourceServiceApiAxiosParamCreator(\n        configuration\n      ).searchOutboundResource(page, size, q, sort, fields, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary List of ResourceDisplay\n     * @param {string} resourceId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchOutboundResourceDisplay(\n      resourceId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListOutboundResourceDisplay>\n    > {\n      const localVarAxiosArgs = await OutboundResourceServiceApiAxiosParamCreator(\n        configuration\n      ).searchOutboundResourceDisplay(\n        resourceId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update OutboundResource\n     * @param {string} id\n     * @param {EngineOutboundResourceServiceUpdateOutboundResourceBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateOutboundResource(\n      id: string,\n      body: EngineOutboundResourceServiceUpdateOutboundResourceBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineOutboundResource>\n    > {\n      const localVarAxiosArgs = await OutboundResourceServiceApiAxiosParamCreator(\n        configuration\n      ).updateOutboundResource(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update ResourceDisplay\n     * @param {string} resourceId\n     * @param {string} id\n     * @param {EngineOutboundResourceServiceUpdateOutboundResourceDisplayBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateOutboundResourceDisplay(\n      resourceId: string,\n      id: string,\n      body: EngineOutboundResourceServiceUpdateOutboundResourceDisplayBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineResourceDisplay>\n    > {\n      const localVarAxiosArgs = await OutboundResourceServiceApiAxiosParamCreator(\n        configuration\n      ).updateOutboundResourceDisplay(resourceId, id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * OutboundResourceServiceApi - factory interface\n * @export\n */\nexport const OutboundResourceServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Create OutboundResource\n     * @param {EngineCreateOutboundResourceRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createOutboundResource(\n      body: EngineCreateOutboundResourceRequest,\n      options?: any\n    ): AxiosPromise<EngineOutboundResource> {\n      return OutboundResourceServiceApiFp(configuration)\n        .createOutboundResource(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Create CreateOutboundResourceDisplay\n     * @param {string} resourceId\n     * @param {EngineOutboundResourceServiceCreateOutboundResourceDisplayBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createOutboundResourceDisplay(\n      resourceId: string,\n      body: EngineOutboundResourceServiceCreateOutboundResourceDisplayBody,\n      options?: any\n    ): AxiosPromise<EngineResourceDisplay> {\n      return OutboundResourceServiceApiFp(configuration)\n        .createOutboundResourceDisplay(resourceId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Create CreateOutboundResourceDisplay\n     * @param {string} resourceId\n     * @param {EngineOutboundResourceServiceCreateOutboundResourceDisplayBulkBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createOutboundResourceDisplayBulk(\n      resourceId: string,\n      body: EngineOutboundResourceServiceCreateOutboundResourceDisplayBulkBody,\n      options?: any\n    ): AxiosPromise<EngineListResourceDisplay> {\n      return OutboundResourceServiceApiFp(configuration)\n        .createOutboundResourceDisplayBulk(resourceId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Remove OutboundResource\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteOutboundResource(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineOutboundResource> {\n      return OutboundResourceServiceApiFp(configuration)\n        .deleteOutboundResource(id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Remove ResourceDisplay\n     * @param {string} resourceId\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteOutboundResourceDisplay(\n      resourceId: string,\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineResourceDisplay> {\n      return OutboundResourceServiceApiFp(configuration)\n        .deleteOutboundResourceDisplay(resourceId, id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Remove ResourceDisplays\n     * @param {string} resourceId\n     * @param {Array<string>} [items]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteOutboundResourceDisplays(\n      resourceId: string,\n      items?: Array<string>,\n      options?: any\n    ): AxiosPromise<object> {\n      return OutboundResourceServiceApiFp(configuration)\n        .deleteOutboundResourceDisplays(resourceId, items, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Patch OutboundResource\n     * @param {string} id\n     * @param {EngineOutboundResourceServicePatchOutboundResourceBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchOutboundResource(\n      id: string,\n      body: EngineOutboundResourceServicePatchOutboundResourceBody,\n      options?: any\n    ): AxiosPromise<EngineOutboundResource> {\n      return OutboundResourceServiceApiFp(configuration)\n        .patchOutboundResource(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary OutboundResource item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readOutboundResource(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineOutboundResource> {\n      return OutboundResourceServiceApiFp(configuration)\n        .readOutboundResource(id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary ResourceDisplay item\n     * @param {string} resourceId\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readOutboundResourceDisplay(\n      resourceId: string,\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineResourceDisplay> {\n      return OutboundResourceServiceApiFp(configuration)\n        .readOutboundResourceDisplay(resourceId, id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary List of OutboundResource\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchOutboundResource(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options?: any\n    ): AxiosPromise<EngineListOutboundResource> {\n      return OutboundResourceServiceApiFp(configuration)\n        .searchOutboundResource(page, size, q, sort, fields, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary List of ResourceDisplay\n     * @param {string} resourceId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchOutboundResourceDisplay(\n      resourceId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options?: any\n    ): AxiosPromise<EngineListOutboundResourceDisplay> {\n      return OutboundResourceServiceApiFp(configuration)\n        .searchOutboundResourceDisplay(\n          resourceId,\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          id,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update OutboundResource\n     * @param {string} id\n     * @param {EngineOutboundResourceServiceUpdateOutboundResourceBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateOutboundResource(\n      id: string,\n      body: EngineOutboundResourceServiceUpdateOutboundResourceBody,\n      options?: any\n    ): AxiosPromise<EngineOutboundResource> {\n      return OutboundResourceServiceApiFp(configuration)\n        .updateOutboundResource(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update ResourceDisplay\n     * @param {string} resourceId\n     * @param {string} id\n     * @param {EngineOutboundResourceServiceUpdateOutboundResourceDisplayBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateOutboundResourceDisplay(\n      resourceId: string,\n      id: string,\n      body: EngineOutboundResourceServiceUpdateOutboundResourceDisplayBody,\n      options?: any\n    ): AxiosPromise<EngineResourceDisplay> {\n      return OutboundResourceServiceApiFp(configuration)\n        .updateOutboundResourceDisplay(resourceId, id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * OutboundResourceServiceApi - object-oriented interface\n * @export\n * @class OutboundResourceServiceApi\n * @extends {BaseAPI}\n */\nexport class OutboundResourceServiceApi extends BaseAPI {\n  /**\n   *\n   * @summary Create OutboundResource\n   * @param {EngineCreateOutboundResourceRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof OutboundResourceServiceApi\n   */\n  public createOutboundResource(\n    body: EngineCreateOutboundResourceRequest,\n    options?: any\n  ) {\n    return OutboundResourceServiceApiFp(this.configuration)\n      .createOutboundResource(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Create CreateOutboundResourceDisplay\n   * @param {string} resourceId\n   * @param {EngineOutboundResourceServiceCreateOutboundResourceDisplayBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof OutboundResourceServiceApi\n   */\n  public createOutboundResourceDisplay(\n    resourceId: string,\n    body: EngineOutboundResourceServiceCreateOutboundResourceDisplayBody,\n    options?: any\n  ) {\n    return OutboundResourceServiceApiFp(this.configuration)\n      .createOutboundResourceDisplay(resourceId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Create CreateOutboundResourceDisplay\n   * @param {string} resourceId\n   * @param {EngineOutboundResourceServiceCreateOutboundResourceDisplayBulkBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof OutboundResourceServiceApi\n   */\n  public createOutboundResourceDisplayBulk(\n    resourceId: string,\n    body: EngineOutboundResourceServiceCreateOutboundResourceDisplayBulkBody,\n    options?: any\n  ) {\n    return OutboundResourceServiceApiFp(this.configuration)\n      .createOutboundResourceDisplayBulk(resourceId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Remove OutboundResource\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof OutboundResourceServiceApi\n   */\n  public deleteOutboundResource(id: string, domainId?: string, options?: any) {\n    return OutboundResourceServiceApiFp(this.configuration)\n      .deleteOutboundResource(id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Remove ResourceDisplay\n   * @param {string} resourceId\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof OutboundResourceServiceApi\n   */\n  public deleteOutboundResourceDisplay(\n    resourceId: string,\n    id: string,\n    domainId?: string,\n    options?: any\n  ) {\n    return OutboundResourceServiceApiFp(this.configuration)\n      .deleteOutboundResourceDisplay(resourceId, id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Remove ResourceDisplays\n   * @param {string} resourceId\n   * @param {Array<string>} [items]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof OutboundResourceServiceApi\n   */\n  public deleteOutboundResourceDisplays(\n    resourceId: string,\n    items?: Array<string>,\n    options?: any\n  ) {\n    return OutboundResourceServiceApiFp(this.configuration)\n      .deleteOutboundResourceDisplays(resourceId, items, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Patch OutboundResource\n   * @param {string} id\n   * @param {EngineOutboundResourceServicePatchOutboundResourceBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof OutboundResourceServiceApi\n   */\n  public patchOutboundResource(\n    id: string,\n    body: EngineOutboundResourceServicePatchOutboundResourceBody,\n    options?: any\n  ) {\n    return OutboundResourceServiceApiFp(this.configuration)\n      .patchOutboundResource(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary OutboundResource item\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof OutboundResourceServiceApi\n   */\n  public readOutboundResource(id: string, domainId?: string, options?: any) {\n    return OutboundResourceServiceApiFp(this.configuration)\n      .readOutboundResource(id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary ResourceDisplay item\n   * @param {string} resourceId\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof OutboundResourceServiceApi\n   */\n  public readOutboundResourceDisplay(\n    resourceId: string,\n    id: string,\n    domainId?: string,\n    options?: any\n  ) {\n    return OutboundResourceServiceApiFp(this.configuration)\n      .readOutboundResourceDisplay(resourceId, id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary List of OutboundResource\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<number>} [id]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof OutboundResourceServiceApi\n   */\n  public searchOutboundResource(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<number>,\n    options?: any\n  ) {\n    return OutboundResourceServiceApiFp(this.configuration)\n      .searchOutboundResource(page, size, q, sort, fields, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary List of ResourceDisplay\n   * @param {string} resourceId\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<number>} [id]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof OutboundResourceServiceApi\n   */\n  public searchOutboundResourceDisplay(\n    resourceId: string,\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<number>,\n    options?: any\n  ) {\n    return OutboundResourceServiceApiFp(this.configuration)\n      .searchOutboundResourceDisplay(\n        resourceId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update OutboundResource\n   * @param {string} id\n   * @param {EngineOutboundResourceServiceUpdateOutboundResourceBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof OutboundResourceServiceApi\n   */\n  public updateOutboundResource(\n    id: string,\n    body: EngineOutboundResourceServiceUpdateOutboundResourceBody,\n    options?: any\n  ) {\n    return OutboundResourceServiceApiFp(this.configuration)\n      .updateOutboundResource(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update ResourceDisplay\n   * @param {string} resourceId\n   * @param {string} id\n   * @param {EngineOutboundResourceServiceUpdateOutboundResourceDisplayBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof OutboundResourceServiceApi\n   */\n  public updateOutboundResourceDisplay(\n    resourceId: string,\n    id: string,\n    body: EngineOutboundResourceServiceUpdateOutboundResourceDisplayBody,\n    options?: any\n  ) {\n    return OutboundResourceServiceApiFp(this.configuration)\n      .updateOutboundResourceDisplay(resourceId, id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { InlineObject8 } from '../api'\n// @ts-ignore\nimport { WfmCreatePauseTemplateRequest } from '../api'\n// @ts-ignore\nimport { WfmCreatePauseTemplateResponse } from '../api'\n// @ts-ignore\nimport { WfmDeletePauseTemplateResponse } from '../api'\n// @ts-ignore\nimport { WfmReadPauseTemplateResponse } from '../api'\n// @ts-ignore\nimport { WfmSearchPauseTemplateResponse } from '../api'\n// @ts-ignore\nimport { WfmUpdatePauseTemplateResponse } from '../api'\n/**\n * PauseTemplateServiceApi - axios parameter creator\n * @export\n */\nexport const PauseTemplateServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {WfmCreatePauseTemplateRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createPauseTemplate: async (\n      body: WfmCreatePauseTemplateRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createPauseTemplate.'\n        )\n      }\n      const localVarPath = `/wfm/lookups/pause_templates`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deletePauseTemplate: async (\n      id: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deletePauseTemplate.'\n        )\n      }\n      const localVarPath = `/wfm/lookups/pause_templates/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readPauseTemplate: async (\n      id: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readPauseTemplate.'\n        )\n      }\n      const localVarPath = `/wfm/lookups/pause_templates/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} [q]\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchPauseTemplate: async (\n      q?: string,\n      page?: number,\n      size?: number,\n      sort?: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/wfm/lookups/pause_templates`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary UpdatePauseTemplateCauseBulk updates a pause template with a list of causes. Update existing cause, create that not exists in database and delete that not exists in the list.\n     * @param {string} itemId\n     * @param {InlineObject8} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updatePauseTemplate: async (\n      itemId: string,\n      body: InlineObject8,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'itemId' is not null or undefined\n      if (itemId === null || itemId === undefined) {\n        throw new RequiredError(\n          'itemId',\n          'Required parameter itemId was null or undefined when calling updatePauseTemplate.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updatePauseTemplate.'\n        )\n      }\n      const localVarPath = `/wfm/lookups/pause_templates/{item.id}`.replace(\n        `{${'item.id'}}`,\n        encodeURIComponent(String(itemId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * PauseTemplateServiceApi - functional programming interface\n * @export\n */\nexport const PauseTemplateServiceApiFp = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {WfmCreatePauseTemplateRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createPauseTemplate(\n      body: WfmCreatePauseTemplateRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmCreatePauseTemplateResponse>\n    > {\n      const localVarAxiosArgs = await PauseTemplateServiceApiAxiosParamCreator(\n        configuration\n      ).createPauseTemplate(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deletePauseTemplate(\n      id: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmDeletePauseTemplateResponse>\n    > {\n      const localVarAxiosArgs = await PauseTemplateServiceApiAxiosParamCreator(\n        configuration\n      ).deletePauseTemplate(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readPauseTemplate(\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmReadPauseTemplateResponse>\n    > {\n      const localVarAxiosArgs = await PauseTemplateServiceApiAxiosParamCreator(\n        configuration\n      ).readPauseTemplate(id, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} [q]\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchPauseTemplate(\n      q?: string,\n      page?: number,\n      size?: number,\n      sort?: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmSearchPauseTemplateResponse>\n    > {\n      const localVarAxiosArgs = await PauseTemplateServiceApiAxiosParamCreator(\n        configuration\n      ).searchPauseTemplate(q, page, size, sort, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary UpdatePauseTemplateCauseBulk updates a pause template with a list of causes. Update existing cause, create that not exists in database and delete that not exists in the list.\n     * @param {string} itemId\n     * @param {InlineObject8} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updatePauseTemplate(\n      itemId: string,\n      body: InlineObject8,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmUpdatePauseTemplateResponse>\n    > {\n      const localVarAxiosArgs = await PauseTemplateServiceApiAxiosParamCreator(\n        configuration\n      ).updatePauseTemplate(itemId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * PauseTemplateServiceApi - factory interface\n * @export\n */\nexport const PauseTemplateServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {WfmCreatePauseTemplateRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createPauseTemplate(\n      body: WfmCreatePauseTemplateRequest,\n      options?: any\n    ): AxiosPromise<WfmCreatePauseTemplateResponse> {\n      return PauseTemplateServiceApiFp(configuration)\n        .createPauseTemplate(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deletePauseTemplate(\n      id: string,\n      options?: any\n    ): AxiosPromise<WfmDeletePauseTemplateResponse> {\n      return PauseTemplateServiceApiFp(configuration)\n        .deletePauseTemplate(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readPauseTemplate(\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WfmReadPauseTemplateResponse> {\n      return PauseTemplateServiceApiFp(configuration)\n        .readPauseTemplate(id, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} [q]\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchPauseTemplate(\n      q?: string,\n      page?: number,\n      size?: number,\n      sort?: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WfmSearchPauseTemplateResponse> {\n      return PauseTemplateServiceApiFp(configuration)\n        .searchPauseTemplate(q, page, size, sort, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary UpdatePauseTemplateCauseBulk updates a pause template with a list of causes. Update existing cause, create that not exists in database and delete that not exists in the list.\n     * @param {string} itemId\n     * @param {InlineObject8} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updatePauseTemplate(\n      itemId: string,\n      body: InlineObject8,\n      options?: any\n    ): AxiosPromise<WfmUpdatePauseTemplateResponse> {\n      return PauseTemplateServiceApiFp(configuration)\n        .updatePauseTemplate(itemId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * PauseTemplateServiceApi - object-oriented interface\n * @export\n * @class PauseTemplateServiceApi\n * @extends {BaseAPI}\n */\nexport class PauseTemplateServiceApi extends BaseAPI {\n  /**\n   *\n   * @param {WfmCreatePauseTemplateRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof PauseTemplateServiceApi\n   */\n  public createPauseTemplate(\n    body: WfmCreatePauseTemplateRequest,\n    options?: any\n  ) {\n    return PauseTemplateServiceApiFp(this.configuration)\n      .createPauseTemplate(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof PauseTemplateServiceApi\n   */\n  public deletePauseTemplate(id: string, options?: any) {\n    return PauseTemplateServiceApiFp(this.configuration)\n      .deletePauseTemplate(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof PauseTemplateServiceApi\n   */\n  public readPauseTemplate(id: string, fields?: Array<string>, options?: any) {\n    return PauseTemplateServiceApiFp(this.configuration)\n      .readPauseTemplate(id, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} [q]\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof PauseTemplateServiceApi\n   */\n  public searchPauseTemplate(\n    q?: string,\n    page?: number,\n    size?: number,\n    sort?: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return PauseTemplateServiceApiFp(this.configuration)\n      .searchPauseTemplate(q, page, size, sort, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary UpdatePauseTemplateCauseBulk updates a pause template with a list of causes. Update existing cause, create that not exists in database and delete that not exists in the list.\n   * @param {string} itemId\n   * @param {InlineObject8} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof PauseTemplateServiceApi\n   */\n  public updatePauseTemplate(\n    itemId: string,\n    body: InlineObject8,\n    options?: any\n  ) {\n    return PauseTemplateServiceApiFp(this.configuration)\n      .updatePauseTemplate(itemId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { ApiSearchPermissionResponse } from '../api'\n/**\n * PermissionsApi - axios parameter creator\n * @export\n */\nexport const PermissionsApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary GetPermissions list available from application\n     * @param {string} [q] TermOfSearch\n     * @param {Array<string>} [id] &#x3D; ANY(id)\n     * @param {Array<string>} [not] &lt;&gt; ANY(not)\n     * @param {Array<string>} [fields] controls  output\n     * @param {Array<string>} [sort] sort: \\&quot;field\\&quot; asc; \\&quot;!field\\&quot; desc\n     * @param {number} [page] page number\n     * @param {number} [size] page size\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getPermissions: async (\n      q?: string,\n      id?: Array<string>,\n      not?: Array<string>,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      page?: number,\n      size?: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/permissions`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (not) {\n        localVarQueryParameter['not'] = not\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * PermissionsApi - functional programming interface\n * @export\n */\nexport const PermissionsApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary GetPermissions list available from application\n     * @param {string} [q] TermOfSearch\n     * @param {Array<string>} [id] &#x3D; ANY(id)\n     * @param {Array<string>} [not] &lt;&gt; ANY(not)\n     * @param {Array<string>} [fields] controls  output\n     * @param {Array<string>} [sort] sort: \\&quot;field\\&quot; asc; \\&quot;!field\\&quot; desc\n     * @param {number} [page] page number\n     * @param {number} [size] page size\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getPermissions(\n      q?: string,\n      id?: Array<string>,\n      not?: Array<string>,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      page?: number,\n      size?: number,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiSearchPermissionResponse>\n    > {\n      const localVarAxiosArgs = await PermissionsApiAxiosParamCreator(\n        configuration\n      ).getPermissions(q, id, not, fields, sort, page, size, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * PermissionsApi - factory interface\n * @export\n */\nexport const PermissionsApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary GetPermissions list available from application\n     * @param {string} [q] TermOfSearch\n     * @param {Array<string>} [id] &#x3D; ANY(id)\n     * @param {Array<string>} [not] &lt;&gt; ANY(not)\n     * @param {Array<string>} [fields] controls  output\n     * @param {Array<string>} [sort] sort: \\&quot;field\\&quot; asc; \\&quot;!field\\&quot; desc\n     * @param {number} [page] page number\n     * @param {number} [size] page size\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getPermissions(\n      q?: string,\n      id?: Array<string>,\n      not?: Array<string>,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      page?: number,\n      size?: number,\n      options?: any\n    ): AxiosPromise<ApiSearchPermissionResponse> {\n      return PermissionsApiFp(configuration)\n        .getPermissions(q, id, not, fields, sort, page, size, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * PermissionsApi - object-oriented interface\n * @export\n * @class PermissionsApi\n * @extends {BaseAPI}\n */\nexport class PermissionsApi extends BaseAPI {\n  /**\n   *\n   * @summary GetPermissions list available from application\n   * @param {string} [q] TermOfSearch\n   * @param {Array<string>} [id] &#x3D; ANY(id)\n   * @param {Array<string>} [not] &lt;&gt; ANY(not)\n   * @param {Array<string>} [fields] controls  output\n   * @param {Array<string>} [sort] sort: \\&quot;field\\&quot; asc; \\&quot;!field\\&quot; desc\n   * @param {number} [page] page number\n   * @param {number} [size] page size\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof PermissionsApi\n   */\n  public getPermissions(\n    q?: string,\n    id?: Array<string>,\n    not?: Array<string>,\n    fields?: Array<string>,\n    sort?: Array<string>,\n    page?: number,\n    size?: number,\n    options?: any\n  ) {\n    return PermissionsApiFp(this.configuration)\n      .getPermissions(q, id, not, fields, sort, page, size, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { NEWUpdateOfThePhoneNumberDetails } from '../api'\n// @ts-ignore\nimport { NEWUpdateOfThePhoneNumberDetails1 } from '../api'\n// @ts-ignore\nimport { WebitelContactsInputPhoneNumber } from '../api'\n// @ts-ignore\nimport { WebitelContactsPhoneList } from '../api'\n// @ts-ignore\nimport { WebitelContactsPhoneNumber } from '../api'\n/**\n * PhonesApi - axios parameter creator\n * @export\n */\nexport const PhonesApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Remove the Contact\\'s phone number\n     * @param {string} contactId Link contact ID.\n     * @param {string} etag Unique link ID to be removed.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deletePhone: async (\n      contactId: string,\n      etag: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling deletePhone.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling deletePhone.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/phones/{etag}`\n        .replace(`{${'contact_id'}}`, encodeURIComponent(String(contactId)))\n        .replace(`{${'etag'}}`, encodeURIComponent(String(etag)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Remove the Contact\\'s phone number association(s)\n     * @param {string} contactId The Contact ID associated with.\n     * @param {Array<string>} etag Set of linked ID(s) to be removed.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deletePhones: async (\n      contactId: string,\n      etag: Array<string>,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling deletePhones.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling deletePhones.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/phones`.replace(\n        `{${'contact_id'}}`,\n        encodeURIComponent(String(contactId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (etag) {\n        localVarQueryParameter['etag'] = etag\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Search phone number(s)\n     * @param {string} contactId The Contact ID associated with.\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {string} [q] Search term: phone number. &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {Array<string>} [id] Link(s) with unique ID only.\n     * @param {boolean} [primary] Primary phone  only.\n     * @param {boolean} [verified] Verified phone only.\n     * @param {string} [typeId] Reference Object unique ID.\n     * @param {string} [typeType] Reference Object well-known type.\n     * @param {string} [typeName] Reference Object display name.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listPhones: async (\n      contactId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      primary?: boolean,\n      verified?: boolean,\n      typeId?: string,\n      typeType?: string,\n      typeName?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling listPhones.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/phones`.replace(\n        `{${'contact_id'}}`,\n        encodeURIComponent(String(contactId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (primary !== undefined) {\n        localVarQueryParameter['primary'] = primary\n      }\n\n      if (verified !== undefined) {\n        localVarQueryParameter['verified'] = verified\n      }\n\n      if (typeId !== undefined) {\n        localVarQueryParameter['type.id'] = typeId\n      }\n\n      if (typeType !== undefined) {\n        localVarQueryParameter['type.type'] = typeType\n      }\n\n      if (typeName !== undefined) {\n        localVarQueryParameter['type.name'] = typeName\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Locate the Contact\\'s phone number association.\n     * @param {string} contactId Reference Contact unique ID.\n     * @param {string} etag\n     * @param {Array<string>} [fields] Fields [Q]uery to build result record.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locatePhone: async (\n      contactId: string,\n      etag: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling locatePhone.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling locatePhone.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/phones/{etag}`\n        .replace(`{${'contact_id'}}`, encodeURIComponent(String(contactId)))\n        .replace(`{${'etag'}}`, encodeURIComponent(String(etag)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Associate phone number(s) with the Contact\n     * @param {string} contactId Link contact ID.\n     * @param {Array<WebitelContactsInputPhoneNumber>} input Fixed set of phone number(s) to be linked with the Contact. Phone number(s) that conflicts with already linked will be updated.\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    mergePhones: async (\n      contactId: string,\n      input: Array<WebitelContactsInputPhoneNumber>,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling mergePhones.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling mergePhones.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/phones`.replace(\n        `{${'contact_id'}}`,\n        encodeURIComponent(String(contactId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Reset the Contact\\'s phone numbers to fit given data set.\n     * @param {string} contactId Link contact ID.\n     * @param {Array<WebitelContactsInputPhoneNumber>} input Final set of phone number(s) to be linked with the contact. Phone number(s) that are already linked with the contact but not given in here will be removed.\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    resetPhones: async (\n      contactId: string,\n      input: Array<WebitelContactsInputPhoneNumber>,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling resetPhones.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling resetPhones.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/phones`.replace(\n        `{${'contact_id'}}`,\n        encodeURIComponent(String(contactId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update the Contact\\'s phone number association details\n     * @param {string} contactId The Contact ID to be associated with.\n     * @param {string} etag Unique ID of the latest version of an existing resorce.\n     * @param {NEWUpdateOfThePhoneNumberDetails} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updatePhone: async (\n      contactId: string,\n      etag: string,\n      input: NEWUpdateOfThePhoneNumberDetails,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling updatePhone.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling updatePhone.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updatePhone.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/phones/{etag}`\n        .replace(`{${'contact_id'}}`, encodeURIComponent(String(contactId)))\n        .replace(`{${'etag'}}`, encodeURIComponent(String(etag)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update the Contact\\'s phone number association details\n     * @param {string} contactId The Contact ID to be associated with.\n     * @param {string} etag Unique ID of the latest version of an existing resorce.\n     * @param {NEWUpdateOfThePhoneNumberDetails1} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updatePhone2: async (\n      contactId: string,\n      etag: string,\n      input: NEWUpdateOfThePhoneNumberDetails1,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling updatePhone2.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling updatePhone2.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updatePhone2.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/phones/{etag}`\n        .replace(`{${'contact_id'}}`, encodeURIComponent(String(contactId)))\n        .replace(`{${'etag'}}`, encodeURIComponent(String(etag)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * PhonesApi - functional programming interface\n * @export\n */\nexport const PhonesApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Remove the Contact\\'s phone number\n     * @param {string} contactId Link contact ID.\n     * @param {string} etag Unique link ID to be removed.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deletePhone(\n      contactId: string,\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsPhoneNumber>\n    > {\n      const localVarAxiosArgs = await PhonesApiAxiosParamCreator(\n        configuration\n      ).deletePhone(contactId, etag, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Remove the Contact\\'s phone number association(s)\n     * @param {string} contactId The Contact ID associated with.\n     * @param {Array<string>} etag Set of linked ID(s) to be removed.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deletePhones(\n      contactId: string,\n      etag: Array<string>,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsPhoneList>\n    > {\n      const localVarAxiosArgs = await PhonesApiAxiosParamCreator(\n        configuration\n      ).deletePhones(contactId, etag, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Search phone number(s)\n     * @param {string} contactId The Contact ID associated with.\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {string} [q] Search term: phone number. &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {Array<string>} [id] Link(s) with unique ID only.\n     * @param {boolean} [primary] Primary phone  only.\n     * @param {boolean} [verified] Verified phone only.\n     * @param {string} [typeId] Reference Object unique ID.\n     * @param {string} [typeType] Reference Object well-known type.\n     * @param {string} [typeName] Reference Object display name.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async listPhones(\n      contactId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      primary?: boolean,\n      verified?: boolean,\n      typeId?: string,\n      typeType?: string,\n      typeName?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsPhoneList>\n    > {\n      const localVarAxiosArgs = await PhonesApiAxiosParamCreator(\n        configuration\n      ).listPhones(\n        contactId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        primary,\n        verified,\n        typeId,\n        typeType,\n        typeName,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Locate the Contact\\'s phone number association.\n     * @param {string} contactId Reference Contact unique ID.\n     * @param {string} etag\n     * @param {Array<string>} [fields] Fields [Q]uery to build result record.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async locatePhone(\n      contactId: string,\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsPhoneNumber>\n    > {\n      const localVarAxiosArgs = await PhonesApiAxiosParamCreator(\n        configuration\n      ).locatePhone(contactId, etag, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Associate phone number(s) with the Contact\n     * @param {string} contactId Link contact ID.\n     * @param {Array<WebitelContactsInputPhoneNumber>} input Fixed set of phone number(s) to be linked with the Contact. Phone number(s) that conflicts with already linked will be updated.\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async mergePhones(\n      contactId: string,\n      input: Array<WebitelContactsInputPhoneNumber>,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsPhoneList>\n    > {\n      const localVarAxiosArgs = await PhonesApiAxiosParamCreator(\n        configuration\n      ).mergePhones(contactId, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Reset the Contact\\'s phone numbers to fit given data set.\n     * @param {string} contactId Link contact ID.\n     * @param {Array<WebitelContactsInputPhoneNumber>} input Final set of phone number(s) to be linked with the contact. Phone number(s) that are already linked with the contact but not given in here will be removed.\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async resetPhones(\n      contactId: string,\n      input: Array<WebitelContactsInputPhoneNumber>,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsPhoneList>\n    > {\n      const localVarAxiosArgs = await PhonesApiAxiosParamCreator(\n        configuration\n      ).resetPhones(contactId, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update the Contact\\'s phone number association details\n     * @param {string} contactId The Contact ID to be associated with.\n     * @param {string} etag Unique ID of the latest version of an existing resorce.\n     * @param {NEWUpdateOfThePhoneNumberDetails} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updatePhone(\n      contactId: string,\n      etag: string,\n      input: NEWUpdateOfThePhoneNumberDetails,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsPhoneList>\n    > {\n      const localVarAxiosArgs = await PhonesApiAxiosParamCreator(\n        configuration\n      ).updatePhone(contactId, etag, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update the Contact\\'s phone number association details\n     * @param {string} contactId The Contact ID to be associated with.\n     * @param {string} etag Unique ID of the latest version of an existing resorce.\n     * @param {NEWUpdateOfThePhoneNumberDetails1} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updatePhone2(\n      contactId: string,\n      etag: string,\n      input: NEWUpdateOfThePhoneNumberDetails1,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsPhoneList>\n    > {\n      const localVarAxiosArgs = await PhonesApiAxiosParamCreator(\n        configuration\n      ).updatePhone2(contactId, etag, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * PhonesApi - factory interface\n * @export\n */\nexport const PhonesApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Remove the Contact\\'s phone number\n     * @param {string} contactId Link contact ID.\n     * @param {string} etag Unique link ID to be removed.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deletePhone(\n      contactId: string,\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsPhoneNumber> {\n      return PhonesApiFp(configuration)\n        .deletePhone(contactId, etag, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Remove the Contact\\'s phone number association(s)\n     * @param {string} contactId The Contact ID associated with.\n     * @param {Array<string>} etag Set of linked ID(s) to be removed.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deletePhones(\n      contactId: string,\n      etag: Array<string>,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsPhoneList> {\n      return PhonesApiFp(configuration)\n        .deletePhones(contactId, etag, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Search phone number(s)\n     * @param {string} contactId The Contact ID associated with.\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {string} [q] Search term: phone number. &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {Array<string>} [id] Link(s) with unique ID only.\n     * @param {boolean} [primary] Primary phone  only.\n     * @param {boolean} [verified] Verified phone only.\n     * @param {string} [typeId] Reference Object unique ID.\n     * @param {string} [typeType] Reference Object well-known type.\n     * @param {string} [typeName] Reference Object display name.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listPhones(\n      contactId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      primary?: boolean,\n      verified?: boolean,\n      typeId?: string,\n      typeType?: string,\n      typeName?: string,\n      options?: any\n    ): AxiosPromise<WebitelContactsPhoneList> {\n      return PhonesApiFp(configuration)\n        .listPhones(\n          contactId,\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          id,\n          primary,\n          verified,\n          typeId,\n          typeType,\n          typeName,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Locate the Contact\\'s phone number association.\n     * @param {string} contactId Reference Contact unique ID.\n     * @param {string} etag\n     * @param {Array<string>} [fields] Fields [Q]uery to build result record.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locatePhone(\n      contactId: string,\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsPhoneNumber> {\n      return PhonesApiFp(configuration)\n        .locatePhone(contactId, etag, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Associate phone number(s) with the Contact\n     * @param {string} contactId Link contact ID.\n     * @param {Array<WebitelContactsInputPhoneNumber>} input Fixed set of phone number(s) to be linked with the Contact. Phone number(s) that conflicts with already linked will be updated.\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    mergePhones(\n      contactId: string,\n      input: Array<WebitelContactsInputPhoneNumber>,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsPhoneList> {\n      return PhonesApiFp(configuration)\n        .mergePhones(contactId, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Reset the Contact\\'s phone numbers to fit given data set.\n     * @param {string} contactId Link contact ID.\n     * @param {Array<WebitelContactsInputPhoneNumber>} input Final set of phone number(s) to be linked with the contact. Phone number(s) that are already linked with the contact but not given in here will be removed.\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    resetPhones(\n      contactId: string,\n      input: Array<WebitelContactsInputPhoneNumber>,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsPhoneList> {\n      return PhonesApiFp(configuration)\n        .resetPhones(contactId, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update the Contact\\'s phone number association details\n     * @param {string} contactId The Contact ID to be associated with.\n     * @param {string} etag Unique ID of the latest version of an existing resorce.\n     * @param {NEWUpdateOfThePhoneNumberDetails} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updatePhone(\n      contactId: string,\n      etag: string,\n      input: NEWUpdateOfThePhoneNumberDetails,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsPhoneList> {\n      return PhonesApiFp(configuration)\n        .updatePhone(contactId, etag, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update the Contact\\'s phone number association details\n     * @param {string} contactId The Contact ID to be associated with.\n     * @param {string} etag Unique ID of the latest version of an existing resorce.\n     * @param {NEWUpdateOfThePhoneNumberDetails1} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updatePhone2(\n      contactId: string,\n      etag: string,\n      input: NEWUpdateOfThePhoneNumberDetails1,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsPhoneList> {\n      return PhonesApiFp(configuration)\n        .updatePhone2(contactId, etag, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * PhonesApi - object-oriented interface\n * @export\n * @class PhonesApi\n * @extends {BaseAPI}\n */\nexport class PhonesApi extends BaseAPI {\n  /**\n   *\n   * @summary Remove the Contact\\'s phone number\n   * @param {string} contactId Link contact ID.\n   * @param {string} etag Unique link ID to be removed.\n   * @param {Array<string>} [fields] Fields to be retrieved into result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof PhonesApi\n   */\n  public deletePhone(\n    contactId: string,\n    etag: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return PhonesApiFp(this.configuration)\n      .deletePhone(contactId, etag, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Remove the Contact\\'s phone number association(s)\n   * @param {string} contactId The Contact ID associated with.\n   * @param {Array<string>} etag Set of linked ID(s) to be removed.\n   * @param {Array<string>} [fields] Fields to be retrieved into result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof PhonesApi\n   */\n  public deletePhones(\n    contactId: string,\n    etag: Array<string>,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return PhonesApiFp(this.configuration)\n      .deletePhones(contactId, etag, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Search phone number(s)\n   * @param {string} contactId The Contact ID associated with.\n   * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n   * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n   * @param {string} [q] Search term: phone number. &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n   * @param {Array<string>} [sort] Sort the result according to fields.\n   * @param {Array<string>} [fields] Fields to be retrieved into result.\n   * @param {Array<string>} [id] Link(s) with unique ID only.\n   * @param {boolean} [primary] Primary phone  only.\n   * @param {boolean} [verified] Verified phone only.\n   * @param {string} [typeId] Reference Object unique ID.\n   * @param {string} [typeType] Reference Object well-known type.\n   * @param {string} [typeName] Reference Object display name.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof PhonesApi\n   */\n  public listPhones(\n    contactId: string,\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: Array<string>,\n    fields?: Array<string>,\n    id?: Array<string>,\n    primary?: boolean,\n    verified?: boolean,\n    typeId?: string,\n    typeType?: string,\n    typeName?: string,\n    options?: any\n  ) {\n    return PhonesApiFp(this.configuration)\n      .listPhones(\n        contactId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        primary,\n        verified,\n        typeId,\n        typeType,\n        typeName,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Locate the Contact\\'s phone number association.\n   * @param {string} contactId Reference Contact unique ID.\n   * @param {string} etag\n   * @param {Array<string>} [fields] Fields [Q]uery to build result record.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof PhonesApi\n   */\n  public locatePhone(\n    contactId: string,\n    etag: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return PhonesApiFp(this.configuration)\n      .locatePhone(contactId, etag, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Associate phone number(s) with the Contact\n   * @param {string} contactId Link contact ID.\n   * @param {Array<WebitelContactsInputPhoneNumber>} input Fixed set of phone number(s) to be linked with the Contact. Phone number(s) that conflicts with already linked will be updated.\n   * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof PhonesApi\n   */\n  public mergePhones(\n    contactId: string,\n    input: Array<WebitelContactsInputPhoneNumber>,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return PhonesApiFp(this.configuration)\n      .mergePhones(contactId, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Reset the Contact\\'s phone numbers to fit given data set.\n   * @param {string} contactId Link contact ID.\n   * @param {Array<WebitelContactsInputPhoneNumber>} input Final set of phone number(s) to be linked with the contact. Phone number(s) that are already linked with the contact but not given in here will be removed.\n   * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof PhonesApi\n   */\n  public resetPhones(\n    contactId: string,\n    input: Array<WebitelContactsInputPhoneNumber>,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return PhonesApiFp(this.configuration)\n      .resetPhones(contactId, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update the Contact\\'s phone number association details\n   * @param {string} contactId The Contact ID to be associated with.\n   * @param {string} etag Unique ID of the latest version of an existing resorce.\n   * @param {NEWUpdateOfThePhoneNumberDetails} input\n   * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof PhonesApi\n   */\n  public updatePhone(\n    contactId: string,\n    etag: string,\n    input: NEWUpdateOfThePhoneNumberDetails,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return PhonesApiFp(this.configuration)\n      .updatePhone(contactId, etag, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update the Contact\\'s phone number association details\n   * @param {string} contactId The Contact ID to be associated with.\n   * @param {string} etag Unique ID of the latest version of an existing resorce.\n   * @param {NEWUpdateOfThePhoneNumberDetails1} input\n   * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof PhonesApi\n   */\n  public updatePhone2(\n    contactId: string,\n    etag: string,\n    input: NEWUpdateOfThePhoneNumberDetails1,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return PhonesApiFp(this.configuration)\n      .updatePhone2(contactId, etag, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { ApiPresenceSetStatusBody } from '../api'\n// @ts-ignore\nimport { ApiPresenceStatus } from '../api'\n// @ts-ignore\nimport { ApiSetStatusRequest } from '../api'\n/**\n * PresenceApi - axios parameter creator\n * @export\n */\nexport const PresenceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     * (UserPresence) {\n     * @summary set(presence) (notify, error)\n     * @param {string} publishId [required] user identity\n     * @param {ApiPresenceSetStatusBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    setStatus: async (\n      publishId: string,\n      body: ApiPresenceSetStatusBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'publishId' is not null or undefined\n      if (publishId === null || publishId === undefined) {\n        throw new RequiredError(\n          'publishId',\n          'Required parameter publishId was null or undefined when calling setStatus.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling setStatus.'\n        )\n      }\n      const localVarPath = `/users/{publish.id}/presence`.replace(\n        `{${'publish.id'}}`,\n        encodeURIComponent(String(publishId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     * (UserPresence) {\n     * @summary set(presence) (notify, error)\n     * @param {ApiSetStatusRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    setStatus2: async (\n      body: ApiSetStatusRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling setStatus2.'\n        )\n      }\n      const localVarPath = `/presence`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * PresenceApi - functional programming interface\n * @export\n */\nexport const PresenceApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     * (UserPresence) {\n     * @summary set(presence) (notify, error)\n     * @param {string} publishId [required] user identity\n     * @param {ApiPresenceSetStatusBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async setStatus(\n      publishId: string,\n      body: ApiPresenceSetStatusBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiPresenceStatus>\n    > {\n      const localVarAxiosArgs = await PresenceApiAxiosParamCreator(\n        configuration\n      ).setStatus(publishId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     * (UserPresence) {\n     * @summary set(presence) (notify, error)\n     * @param {ApiSetStatusRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async setStatus2(\n      body: ApiSetStatusRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiPresenceStatus>\n    > {\n      const localVarAxiosArgs = await PresenceApiAxiosParamCreator(\n        configuration\n      ).setStatus2(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * PresenceApi - factory interface\n * @export\n */\nexport const PresenceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     * (UserPresence) {\n     * @summary set(presence) (notify, error)\n     * @param {string} publishId [required] user identity\n     * @param {ApiPresenceSetStatusBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    setStatus(\n      publishId: string,\n      body: ApiPresenceSetStatusBody,\n      options?: any\n    ): AxiosPromise<ApiPresenceStatus> {\n      return PresenceApiFp(configuration)\n        .setStatus(publishId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     * (UserPresence) {\n     * @summary set(presence) (notify, error)\n     * @param {ApiSetStatusRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    setStatus2(\n      body: ApiSetStatusRequest,\n      options?: any\n    ): AxiosPromise<ApiPresenceStatus> {\n      return PresenceApiFp(configuration)\n        .setStatus2(body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * PresenceApi - object-oriented interface\n * @export\n * @class PresenceApi\n * @extends {BaseAPI}\n */\nexport class PresenceApi extends BaseAPI {\n  /**\n   * (UserPresence) {\n   * @summary set(presence) (notify, error)\n   * @param {string} publishId [required] user identity\n   * @param {ApiPresenceSetStatusBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof PresenceApi\n   */\n  public setStatus(\n    publishId: string,\n    body: ApiPresenceSetStatusBody,\n    options?: any\n  ) {\n    return PresenceApiFp(this.configuration)\n      .setStatus(publishId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   * (UserPresence) {\n   * @summary set(presence) (notify, error)\n   * @param {ApiSetStatusRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof PresenceApi\n   */\n  public setStatus2(body: ApiSetStatusRequest, options?: any) {\n    return PresenceApiFp(this.configuration)\n      .setStatus2(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { EngineCreatePresetQueryRequest } from '../api'\n// @ts-ignore\nimport { EngineListPresetQuery } from '../api'\n// @ts-ignore\nimport { EnginePresetQuery } from '../api'\n// @ts-ignore\nimport { EnginePresetQueryServicePatchPresetQueryBody } from '../api'\n// @ts-ignore\nimport { EnginePresetQueryServiceUpdatePresetQueryBody } from '../api'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n/**\n * PresetQueryServiceApi - axios parameter creator\n * @export\n */\nexport const PresetQueryServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {EngineCreatePresetQueryRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createPresetQuery: async (\n      body: EngineCreatePresetQueryRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createPresetQuery.'\n        )\n      }\n      const localVarPath = `/call_center/preset/query`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deletePresetQuery: async (\n      id: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deletePresetQuery.'\n        )\n      }\n      const localVarPath = `/call_center/preset/query/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EnginePresetQueryServicePatchPresetQueryBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchPresetQuery: async (\n      id: number,\n      body: EnginePresetQueryServicePatchPresetQueryBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling patchPresetQuery.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling patchPresetQuery.'\n        )\n      }\n      const localVarPath = `/call_center/preset/query/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readPresetQuery: async (\n      id: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readPresetQuery.'\n        )\n      }\n      const localVarPath = `/call_center/preset/query/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {Array<string>} [section]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchPresetQuery: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      section?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/call_center/preset/query`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (section) {\n        localVarQueryParameter['section'] = section\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EnginePresetQueryServiceUpdatePresetQueryBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updatePresetQuery: async (\n      id: number,\n      body: EnginePresetQueryServiceUpdatePresetQueryBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updatePresetQuery.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updatePresetQuery.'\n        )\n      }\n      const localVarPath = `/call_center/preset/query/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * PresetQueryServiceApi - functional programming interface\n * @export\n */\nexport const PresetQueryServiceApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @param {EngineCreatePresetQueryRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createPresetQuery(\n      body: EngineCreatePresetQueryRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EnginePresetQuery>\n    > {\n      const localVarAxiosArgs = await PresetQueryServiceApiAxiosParamCreator(\n        configuration\n      ).createPresetQuery(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deletePresetQuery(\n      id: number,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EnginePresetQuery>\n    > {\n      const localVarAxiosArgs = await PresetQueryServiceApiAxiosParamCreator(\n        configuration\n      ).deletePresetQuery(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EnginePresetQueryServicePatchPresetQueryBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async patchPresetQuery(\n      id: number,\n      body: EnginePresetQueryServicePatchPresetQueryBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EnginePresetQuery>\n    > {\n      const localVarAxiosArgs = await PresetQueryServiceApiAxiosParamCreator(\n        configuration\n      ).patchPresetQuery(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readPresetQuery(\n      id: number,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EnginePresetQuery>\n    > {\n      const localVarAxiosArgs = await PresetQueryServiceApiAxiosParamCreator(\n        configuration\n      ).readPresetQuery(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {Array<string>} [section]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchPresetQuery(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      section?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListPresetQuery>\n    > {\n      const localVarAxiosArgs = await PresetQueryServiceApiAxiosParamCreator(\n        configuration\n      ).searchPresetQuery(page, size, q, sort, fields, id, section, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EnginePresetQueryServiceUpdatePresetQueryBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updatePresetQuery(\n      id: number,\n      body: EnginePresetQueryServiceUpdatePresetQueryBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EnginePresetQuery>\n    > {\n      const localVarAxiosArgs = await PresetQueryServiceApiAxiosParamCreator(\n        configuration\n      ).updatePresetQuery(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * PresetQueryServiceApi - factory interface\n * @export\n */\nexport const PresetQueryServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {EngineCreatePresetQueryRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createPresetQuery(\n      body: EngineCreatePresetQueryRequest,\n      options?: any\n    ): AxiosPromise<EnginePresetQuery> {\n      return PresetQueryServiceApiFp(configuration)\n        .createPresetQuery(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deletePresetQuery(\n      id: number,\n      options?: any\n    ): AxiosPromise<EnginePresetQuery> {\n      return PresetQueryServiceApiFp(configuration)\n        .deletePresetQuery(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EnginePresetQueryServicePatchPresetQueryBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchPresetQuery(\n      id: number,\n      body: EnginePresetQueryServicePatchPresetQueryBody,\n      options?: any\n    ): AxiosPromise<EnginePresetQuery> {\n      return PresetQueryServiceApiFp(configuration)\n        .patchPresetQuery(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readPresetQuery(\n      id: number,\n      options?: any\n    ): AxiosPromise<EnginePresetQuery> {\n      return PresetQueryServiceApiFp(configuration)\n        .readPresetQuery(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {Array<string>} [section]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchPresetQuery(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      section?: Array<string>,\n      options?: any\n    ): AxiosPromise<EngineListPresetQuery> {\n      return PresetQueryServiceApiFp(configuration)\n        .searchPresetQuery(page, size, q, sort, fields, id, section, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EnginePresetQueryServiceUpdatePresetQueryBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updatePresetQuery(\n      id: number,\n      body: EnginePresetQueryServiceUpdatePresetQueryBody,\n      options?: any\n    ): AxiosPromise<EnginePresetQuery> {\n      return PresetQueryServiceApiFp(configuration)\n        .updatePresetQuery(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * PresetQueryServiceApi - object-oriented interface\n * @export\n * @class PresetQueryServiceApi\n * @extends {BaseAPI}\n */\nexport class PresetQueryServiceApi extends BaseAPI {\n  /**\n   *\n   * @param {EngineCreatePresetQueryRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof PresetQueryServiceApi\n   */\n  public createPresetQuery(\n    body: EngineCreatePresetQueryRequest,\n    options?: any\n  ) {\n    return PresetQueryServiceApiFp(this.configuration)\n      .createPresetQuery(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof PresetQueryServiceApi\n   */\n  public deletePresetQuery(id: number, options?: any) {\n    return PresetQueryServiceApiFp(this.configuration)\n      .deletePresetQuery(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} id\n   * @param {EnginePresetQueryServicePatchPresetQueryBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof PresetQueryServiceApi\n   */\n  public patchPresetQuery(\n    id: number,\n    body: EnginePresetQueryServicePatchPresetQueryBody,\n    options?: any\n  ) {\n    return PresetQueryServiceApiFp(this.configuration)\n      .patchPresetQuery(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof PresetQueryServiceApi\n   */\n  public readPresetQuery(id: number, options?: any) {\n    return PresetQueryServiceApiFp(this.configuration)\n      .readPresetQuery(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<number>} [id]\n   * @param {Array<string>} [section]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof PresetQueryServiceApi\n   */\n  public searchPresetQuery(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<number>,\n    section?: Array<string>,\n    options?: any\n  ) {\n    return PresetQueryServiceApiFp(this.configuration)\n      .searchPresetQuery(page, size, q, sort, fields, id, section, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} id\n   * @param {EnginePresetQueryServiceUpdatePresetQueryBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof PresetQueryServiceApi\n   */\n  public updatePresetQuery(\n    id: number,\n    body: EnginePresetQueryServiceUpdatePresetQueryBody,\n    options?: any\n  ) {\n    return PresetQueryServiceApiFp(this.configuration)\n      .updatePresetQuery(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n// @ts-ignore\nimport { WebitelCasesInputPriority } from '../api'\n// @ts-ignore\nimport { WebitelCasesLocatePriorityResponse } from '../api'\n// @ts-ignore\nimport { WebitelCasesPriority } from '../api'\n// @ts-ignore\nimport { WebitelCasesPriorityList } from '../api'\n/**\n * PrioritiesApi - axios parameter creator\n * @export\n */\nexport const PrioritiesApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create a new priority\n     * @param {WebitelCasesInputPriority} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createPriority: async (\n      input: WebitelCasesInputPriority,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling createPriority.'\n        )\n      }\n      const localVarPath = `/cases/priorities`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Delete a priority\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deletePriority: async (\n      id: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deletePriority.'\n        )\n      }\n      const localVarPath = `/cases/priorities/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Retrieve a list of priorities or search priorities\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {string} [sort] Sort the result according to fields.\n     * @param {Array<string>} [id] Filter by unique IDs.\n     * @param {string} [q] Search query string for filtering by name. Supports: - Wildcards (*) for substring matching - Placeholder (?) for single character substitution - Exact match for full names\n     * @param {string} [notInSla] Filter priorities that are not in filtered SLA\n     * @param {string} [inSlaCond] Filter priorities that are in filtered SlaCondition and not in current SLA\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listPriorities: async (\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: string,\n      id?: Array<string>,\n      q?: string,\n      notInSla?: string,\n      inSlaCond?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/cases/priorities`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (notInSla !== undefined) {\n        localVarQueryParameter['notInSla'] = notInSla\n      }\n\n      if (inSlaCond !== undefined) {\n        localVarQueryParameter['inSlaCond'] = inSlaCond\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Locate a priority by ID\n     * @param {string} id ID of the priority to be located\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locatePriority: async (\n      id: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling locatePriority.'\n        )\n      }\n      const localVarPath = `/cases/priorities/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update an existing priority\n     * @param {string} id\n     * @param {WebitelCasesInputPriority} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updatePriority: async (\n      id: string,\n      input: WebitelCasesInputPriority,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updatePriority.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updatePriority.'\n        )\n      }\n      const localVarPath = `/cases/priorities/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update an existing priority\n     * @param {string} id\n     * @param {WebitelCasesInputPriority} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updatePriority2: async (\n      id: string,\n      input: WebitelCasesInputPriority,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updatePriority2.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updatePriority2.'\n        )\n      }\n      const localVarPath = `/cases/priorities/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * PrioritiesApi - functional programming interface\n * @export\n */\nexport const PrioritiesApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Create a new priority\n     * @param {WebitelCasesInputPriority} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createPriority(\n      input: WebitelCasesInputPriority,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesPriority>\n    > {\n      const localVarAxiosArgs = await PrioritiesApiAxiosParamCreator(\n        configuration\n      ).createPriority(input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Delete a priority\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deletePriority(\n      id: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesPriority>\n    > {\n      const localVarAxiosArgs = await PrioritiesApiAxiosParamCreator(\n        configuration\n      ).deletePriority(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Retrieve a list of priorities or search priorities\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {string} [sort] Sort the result according to fields.\n     * @param {Array<string>} [id] Filter by unique IDs.\n     * @param {string} [q] Search query string for filtering by name. Supports: - Wildcards (*) for substring matching - Placeholder (?) for single character substitution - Exact match for full names\n     * @param {string} [notInSla] Filter priorities that are not in filtered SLA\n     * @param {string} [inSlaCond] Filter priorities that are in filtered SlaCondition and not in current SLA\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async listPriorities(\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: string,\n      id?: Array<string>,\n      q?: string,\n      notInSla?: string,\n      inSlaCond?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesPriorityList>\n    > {\n      const localVarAxiosArgs = await PrioritiesApiAxiosParamCreator(\n        configuration\n      ).listPriorities(\n        page,\n        size,\n        fields,\n        sort,\n        id,\n        q,\n        notInSla,\n        inSlaCond,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Locate a priority by ID\n     * @param {string} id ID of the priority to be located\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async locatePriority(\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesLocatePriorityResponse>\n    > {\n      const localVarAxiosArgs = await PrioritiesApiAxiosParamCreator(\n        configuration\n      ).locatePriority(id, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update an existing priority\n     * @param {string} id\n     * @param {WebitelCasesInputPriority} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updatePriority(\n      id: string,\n      input: WebitelCasesInputPriority,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesPriority>\n    > {\n      const localVarAxiosArgs = await PrioritiesApiAxiosParamCreator(\n        configuration\n      ).updatePriority(id, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update an existing priority\n     * @param {string} id\n     * @param {WebitelCasesInputPriority} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updatePriority2(\n      id: string,\n      input: WebitelCasesInputPriority,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesPriority>\n    > {\n      const localVarAxiosArgs = await PrioritiesApiAxiosParamCreator(\n        configuration\n      ).updatePriority2(id, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * PrioritiesApi - factory interface\n * @export\n */\nexport const PrioritiesApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Create a new priority\n     * @param {WebitelCasesInputPriority} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createPriority(\n      input: WebitelCasesInputPriority,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesPriority> {\n      return PrioritiesApiFp(configuration)\n        .createPriority(input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Delete a priority\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deletePriority(\n      id: string,\n      options?: any\n    ): AxiosPromise<WebitelCasesPriority> {\n      return PrioritiesApiFp(configuration)\n        .deletePriority(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Retrieve a list of priorities or search priorities\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {string} [sort] Sort the result according to fields.\n     * @param {Array<string>} [id] Filter by unique IDs.\n     * @param {string} [q] Search query string for filtering by name. Supports: - Wildcards (*) for substring matching - Placeholder (?) for single character substitution - Exact match for full names\n     * @param {string} [notInSla] Filter priorities that are not in filtered SLA\n     * @param {string} [inSlaCond] Filter priorities that are in filtered SlaCondition and not in current SLA\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listPriorities(\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: string,\n      id?: Array<string>,\n      q?: string,\n      notInSla?: string,\n      inSlaCond?: string,\n      options?: any\n    ): AxiosPromise<WebitelCasesPriorityList> {\n      return PrioritiesApiFp(configuration)\n        .listPriorities(\n          page,\n          size,\n          fields,\n          sort,\n          id,\n          q,\n          notInSla,\n          inSlaCond,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Locate a priority by ID\n     * @param {string} id ID of the priority to be located\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locatePriority(\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesLocatePriorityResponse> {\n      return PrioritiesApiFp(configuration)\n        .locatePriority(id, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update an existing priority\n     * @param {string} id\n     * @param {WebitelCasesInputPriority} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updatePriority(\n      id: string,\n      input: WebitelCasesInputPriority,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesPriority> {\n      return PrioritiesApiFp(configuration)\n        .updatePriority(id, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update an existing priority\n     * @param {string} id\n     * @param {WebitelCasesInputPriority} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updatePriority2(\n      id: string,\n      input: WebitelCasesInputPriority,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesPriority> {\n      return PrioritiesApiFp(configuration)\n        .updatePriority2(id, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * PrioritiesApi - object-oriented interface\n * @export\n * @class PrioritiesApi\n * @extends {BaseAPI}\n */\nexport class PrioritiesApi extends BaseAPI {\n  /**\n   *\n   * @summary Create a new priority\n   * @param {WebitelCasesInputPriority} input\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof PrioritiesApi\n   */\n  public createPriority(\n    input: WebitelCasesInputPriority,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return PrioritiesApiFp(this.configuration)\n      .createPriority(input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Delete a priority\n   * @param {string} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof PrioritiesApi\n   */\n  public deletePriority(id: string, options?: any) {\n    return PrioritiesApiFp(this.configuration)\n      .deletePriority(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Retrieve a list of priorities or search priorities\n   * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n   * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {string} [sort] Sort the result according to fields.\n   * @param {Array<string>} [id] Filter by unique IDs.\n   * @param {string} [q] Search query string for filtering by name. Supports: - Wildcards (*) for substring matching - Placeholder (?) for single character substitution - Exact match for full names\n   * @param {string} [notInSla] Filter priorities that are not in filtered SLA\n   * @param {string} [inSlaCond] Filter priorities that are in filtered SlaCondition and not in current SLA\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof PrioritiesApi\n   */\n  public listPriorities(\n    page?: number,\n    size?: number,\n    fields?: Array<string>,\n    sort?: string,\n    id?: Array<string>,\n    q?: string,\n    notInSla?: string,\n    inSlaCond?: string,\n    options?: any\n  ) {\n    return PrioritiesApiFp(this.configuration)\n      .listPriorities(\n        page,\n        size,\n        fields,\n        sort,\n        id,\n        q,\n        notInSla,\n        inSlaCond,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Locate a priority by ID\n   * @param {string} id ID of the priority to be located\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof PrioritiesApi\n   */\n  public locatePriority(id: string, fields?: Array<string>, options?: any) {\n    return PrioritiesApiFp(this.configuration)\n      .locatePriority(id, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update an existing priority\n   * @param {string} id\n   * @param {WebitelCasesInputPriority} input\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof PrioritiesApi\n   */\n  public updatePriority(\n    id: string,\n    input: WebitelCasesInputPriority,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return PrioritiesApiFp(this.configuration)\n      .updatePriority(id, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update an existing priority\n   * @param {string} id\n   * @param {WebitelCasesInputPriority} input\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof PrioritiesApi\n   */\n  public updatePriority2(\n    id: string,\n    input: WebitelCasesInputPriority,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return PrioritiesApiFp(this.configuration)\n      .updatePriority2(id, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { EngineListQueueBucket } from '../api'\n// @ts-ignore\nimport { EngineQueueBucket } from '../api'\n// @ts-ignore\nimport { EngineQueueBucketServiceCreateQueueBucketBody } from '../api'\n// @ts-ignore\nimport { EngineQueueBucketServicePatchQueueBucketBody } from '../api'\n// @ts-ignore\nimport { EngineQueueBucketServiceUpdateQueueBucketBody } from '../api'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n/**\n * QueueBucketServiceApi - axios parameter creator\n * @export\n */\nexport const QueueBucketServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create QueueBucket\n     * @param {string} queueId\n     * @param {EngineQueueBucketServiceCreateQueueBucketBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createQueueBucket: async (\n      queueId: string,\n      body: EngineQueueBucketServiceCreateQueueBucketBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'queueId' is not null or undefined\n      if (queueId === null || queueId === undefined) {\n        throw new RequiredError(\n          'queueId',\n          'Required parameter queueId was null or undefined when calling createQueueBucket.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createQueueBucket.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{queue_id}/buckets`.replace(\n        `{${'queue_id'}}`,\n        encodeURIComponent(String(queueId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary DeleteQueueRouting\n     * @param {string} queueId\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteQueueBucket: async (\n      queueId: string,\n      id: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'queueId' is not null or undefined\n      if (queueId === null || queueId === undefined) {\n        throw new RequiredError(\n          'queueId',\n          'Required parameter queueId was null or undefined when calling deleteQueueBucket.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteQueueBucket.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{queue_id}/buckets/{id}`\n        .replace(`{${'queue_id'}}`, encodeURIComponent(String(queueId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} queueId\n     * @param {string} id\n     * @param {EngineQueueBucketServicePatchQueueBucketBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchQueueBucket: async (\n      queueId: string,\n      id: string,\n      body: EngineQueueBucketServicePatchQueueBucketBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'queueId' is not null or undefined\n      if (queueId === null || queueId === undefined) {\n        throw new RequiredError(\n          'queueId',\n          'Required parameter queueId was null or undefined when calling patchQueueBucket.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling patchQueueBucket.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling patchQueueBucket.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{queue_id}/buckets/{id}`\n        .replace(`{${'queue_id'}}`, encodeURIComponent(String(queueId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary ReadQueueRouting\n     * @param {string} queueId\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readQueueBucket: async (\n      queueId: string,\n      id: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'queueId' is not null or undefined\n      if (queueId === null || queueId === undefined) {\n        throw new RequiredError(\n          'queueId',\n          'Required parameter queueId was null or undefined when calling readQueueBucket.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readQueueBucket.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{queue_id}/buckets/{id}`\n        .replace(`{${'queue_id'}}`, encodeURIComponent(String(queueId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary SearchQueueRouting\n     * @param {string} queueId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchQueueBucket: async (\n      queueId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'queueId' is not null or undefined\n      if (queueId === null || queueId === undefined) {\n        throw new RequiredError(\n          'queueId',\n          'Required parameter queueId was null or undefined when calling searchQueueBucket.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{queue_id}/buckets`.replace(\n        `{${'queue_id'}}`,\n        encodeURIComponent(String(queueId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary UpdateQueueBucket\n     * @param {string} queueId\n     * @param {string} id\n     * @param {EngineQueueBucketServiceUpdateQueueBucketBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateQueueBucket: async (\n      queueId: string,\n      id: string,\n      body: EngineQueueBucketServiceUpdateQueueBucketBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'queueId' is not null or undefined\n      if (queueId === null || queueId === undefined) {\n        throw new RequiredError(\n          'queueId',\n          'Required parameter queueId was null or undefined when calling updateQueueBucket.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateQueueBucket.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateQueueBucket.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{queue_id}/buckets/{id}`\n        .replace(`{${'queue_id'}}`, encodeURIComponent(String(queueId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * QueueBucketServiceApi - functional programming interface\n * @export\n */\nexport const QueueBucketServiceApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Create QueueBucket\n     * @param {string} queueId\n     * @param {EngineQueueBucketServiceCreateQueueBucketBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createQueueBucket(\n      queueId: string,\n      body: EngineQueueBucketServiceCreateQueueBucketBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineQueueBucket>\n    > {\n      const localVarAxiosArgs = await QueueBucketServiceApiAxiosParamCreator(\n        configuration\n      ).createQueueBucket(queueId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary DeleteQueueRouting\n     * @param {string} queueId\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteQueueBucket(\n      queueId: string,\n      id: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineQueueBucket>\n    > {\n      const localVarAxiosArgs = await QueueBucketServiceApiAxiosParamCreator(\n        configuration\n      ).deleteQueueBucket(queueId, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} queueId\n     * @param {string} id\n     * @param {EngineQueueBucketServicePatchQueueBucketBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async patchQueueBucket(\n      queueId: string,\n      id: string,\n      body: EngineQueueBucketServicePatchQueueBucketBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineQueueBucket>\n    > {\n      const localVarAxiosArgs = await QueueBucketServiceApiAxiosParamCreator(\n        configuration\n      ).patchQueueBucket(queueId, id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary ReadQueueRouting\n     * @param {string} queueId\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readQueueBucket(\n      queueId: string,\n      id: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineQueueBucket>\n    > {\n      const localVarAxiosArgs = await QueueBucketServiceApiAxiosParamCreator(\n        configuration\n      ).readQueueBucket(queueId, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary SearchQueueRouting\n     * @param {string} queueId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchQueueBucket(\n      queueId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListQueueBucket>\n    > {\n      const localVarAxiosArgs = await QueueBucketServiceApiAxiosParamCreator(\n        configuration\n      ).searchQueueBucket(queueId, page, size, q, sort, fields, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary UpdateQueueBucket\n     * @param {string} queueId\n     * @param {string} id\n     * @param {EngineQueueBucketServiceUpdateQueueBucketBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateQueueBucket(\n      queueId: string,\n      id: string,\n      body: EngineQueueBucketServiceUpdateQueueBucketBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineQueueBucket>\n    > {\n      const localVarAxiosArgs = await QueueBucketServiceApiAxiosParamCreator(\n        configuration\n      ).updateQueueBucket(queueId, id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * QueueBucketServiceApi - factory interface\n * @export\n */\nexport const QueueBucketServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Create QueueBucket\n     * @param {string} queueId\n     * @param {EngineQueueBucketServiceCreateQueueBucketBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createQueueBucket(\n      queueId: string,\n      body: EngineQueueBucketServiceCreateQueueBucketBody,\n      options?: any\n    ): AxiosPromise<EngineQueueBucket> {\n      return QueueBucketServiceApiFp(configuration)\n        .createQueueBucket(queueId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary DeleteQueueRouting\n     * @param {string} queueId\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteQueueBucket(\n      queueId: string,\n      id: string,\n      options?: any\n    ): AxiosPromise<EngineQueueBucket> {\n      return QueueBucketServiceApiFp(configuration)\n        .deleteQueueBucket(queueId, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} queueId\n     * @param {string} id\n     * @param {EngineQueueBucketServicePatchQueueBucketBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchQueueBucket(\n      queueId: string,\n      id: string,\n      body: EngineQueueBucketServicePatchQueueBucketBody,\n      options?: any\n    ): AxiosPromise<EngineQueueBucket> {\n      return QueueBucketServiceApiFp(configuration)\n        .patchQueueBucket(queueId, id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary ReadQueueRouting\n     * @param {string} queueId\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readQueueBucket(\n      queueId: string,\n      id: string,\n      options?: any\n    ): AxiosPromise<EngineQueueBucket> {\n      return QueueBucketServiceApiFp(configuration)\n        .readQueueBucket(queueId, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary SearchQueueRouting\n     * @param {string} queueId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchQueueBucket(\n      queueId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options?: any\n    ): AxiosPromise<EngineListQueueBucket> {\n      return QueueBucketServiceApiFp(configuration)\n        .searchQueueBucket(queueId, page, size, q, sort, fields, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary UpdateQueueBucket\n     * @param {string} queueId\n     * @param {string} id\n     * @param {EngineQueueBucketServiceUpdateQueueBucketBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateQueueBucket(\n      queueId: string,\n      id: string,\n      body: EngineQueueBucketServiceUpdateQueueBucketBody,\n      options?: any\n    ): AxiosPromise<EngineQueueBucket> {\n      return QueueBucketServiceApiFp(configuration)\n        .updateQueueBucket(queueId, id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * QueueBucketServiceApi - object-oriented interface\n * @export\n * @class QueueBucketServiceApi\n * @extends {BaseAPI}\n */\nexport class QueueBucketServiceApi extends BaseAPI {\n  /**\n   *\n   * @summary Create QueueBucket\n   * @param {string} queueId\n   * @param {EngineQueueBucketServiceCreateQueueBucketBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof QueueBucketServiceApi\n   */\n  public createQueueBucket(\n    queueId: string,\n    body: EngineQueueBucketServiceCreateQueueBucketBody,\n    options?: any\n  ) {\n    return QueueBucketServiceApiFp(this.configuration)\n      .createQueueBucket(queueId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary DeleteQueueRouting\n   * @param {string} queueId\n   * @param {string} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof QueueBucketServiceApi\n   */\n  public deleteQueueBucket(queueId: string, id: string, options?: any) {\n    return QueueBucketServiceApiFp(this.configuration)\n      .deleteQueueBucket(queueId, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} queueId\n   * @param {string} id\n   * @param {EngineQueueBucketServicePatchQueueBucketBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof QueueBucketServiceApi\n   */\n  public patchQueueBucket(\n    queueId: string,\n    id: string,\n    body: EngineQueueBucketServicePatchQueueBucketBody,\n    options?: any\n  ) {\n    return QueueBucketServiceApiFp(this.configuration)\n      .patchQueueBucket(queueId, id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary ReadQueueRouting\n   * @param {string} queueId\n   * @param {string} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof QueueBucketServiceApi\n   */\n  public readQueueBucket(queueId: string, id: string, options?: any) {\n    return QueueBucketServiceApiFp(this.configuration)\n      .readQueueBucket(queueId, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary SearchQueueRouting\n   * @param {string} queueId\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<number>} [id]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof QueueBucketServiceApi\n   */\n  public searchQueueBucket(\n    queueId: string,\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<number>,\n    options?: any\n  ) {\n    return QueueBucketServiceApiFp(this.configuration)\n      .searchQueueBucket(queueId, page, size, q, sort, fields, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary UpdateQueueBucket\n   * @param {string} queueId\n   * @param {string} id\n   * @param {EngineQueueBucketServiceUpdateQueueBucketBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof QueueBucketServiceApi\n   */\n  public updateQueueBucket(\n    queueId: string,\n    id: string,\n    body: EngineQueueBucketServiceUpdateQueueBucketBody,\n    options?: any\n  ) {\n    return QueueBucketServiceApiFp(this.configuration)\n      .updateQueueBucket(queueId, id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { EngineListQueueHook } from '../api'\n// @ts-ignore\nimport { EngineQueueHook } from '../api'\n// @ts-ignore\nimport { EngineQueueHookServiceCreateQueueHookBody } from '../api'\n// @ts-ignore\nimport { EngineQueueHookServicePatchQueueHookBody } from '../api'\n// @ts-ignore\nimport { EngineQueueHookServiceUpdateQueueHookBody } from '../api'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n/**\n * QueueHookServiceApi - axios parameter creator\n * @export\n */\nexport const QueueHookServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {number} queueId\n     * @param {EngineQueueHookServiceCreateQueueHookBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createQueueHook: async (\n      queueId: number,\n      body: EngineQueueHookServiceCreateQueueHookBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'queueId' is not null or undefined\n      if (queueId === null || queueId === undefined) {\n        throw new RequiredError(\n          'queueId',\n          'Required parameter queueId was null or undefined when calling createQueueHook.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createQueueHook.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{queue_id}/hooks`.replace(\n        `{${'queue_id'}}`,\n        encodeURIComponent(String(queueId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} queueId\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteQueueHook: async (\n      queueId: number,\n      id: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'queueId' is not null or undefined\n      if (queueId === null || queueId === undefined) {\n        throw new RequiredError(\n          'queueId',\n          'Required parameter queueId was null or undefined when calling deleteQueueHook.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteQueueHook.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{queue_id}/hooks/{id}`\n        .replace(`{${'queue_id'}}`, encodeURIComponent(String(queueId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} queueId\n     * @param {number} id\n     * @param {EngineQueueHookServicePatchQueueHookBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchQueueHook: async (\n      queueId: number,\n      id: number,\n      body: EngineQueueHookServicePatchQueueHookBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'queueId' is not null or undefined\n      if (queueId === null || queueId === undefined) {\n        throw new RequiredError(\n          'queueId',\n          'Required parameter queueId was null or undefined when calling patchQueueHook.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling patchQueueHook.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling patchQueueHook.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{queue_id}/hooks/{id}`\n        .replace(`{${'queue_id'}}`, encodeURIComponent(String(queueId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} queueId\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readQueueHook: async (\n      queueId: number,\n      id: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'queueId' is not null or undefined\n      if (queueId === null || queueId === undefined) {\n        throw new RequiredError(\n          'queueId',\n          'Required parameter queueId was null or undefined when calling readQueueHook.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readQueueHook.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{queue_id}/hooks/{id}`\n        .replace(`{${'queue_id'}}`, encodeURIComponent(String(queueId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} queueId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {Array<number>} [schemaId]\n     * @param {Array<string>} [event]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchQueueHook: async (\n      queueId: number,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      schemaId?: Array<number>,\n      event?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'queueId' is not null or undefined\n      if (queueId === null || queueId === undefined) {\n        throw new RequiredError(\n          'queueId',\n          'Required parameter queueId was null or undefined when calling searchQueueHook.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{queue_id}/hooks`.replace(\n        `{${'queue_id'}}`,\n        encodeURIComponent(String(queueId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (schemaId) {\n        localVarQueryParameter['schema_id'] = schemaId\n      }\n\n      if (event) {\n        localVarQueryParameter['event'] = event\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} queueId\n     * @param {number} id\n     * @param {EngineQueueHookServiceUpdateQueueHookBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateQueueHook: async (\n      queueId: number,\n      id: number,\n      body: EngineQueueHookServiceUpdateQueueHookBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'queueId' is not null or undefined\n      if (queueId === null || queueId === undefined) {\n        throw new RequiredError(\n          'queueId',\n          'Required parameter queueId was null or undefined when calling updateQueueHook.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateQueueHook.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateQueueHook.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{queue_id}/hooks/{id}`\n        .replace(`{${'queue_id'}}`, encodeURIComponent(String(queueId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * QueueHookServiceApi - functional programming interface\n * @export\n */\nexport const QueueHookServiceApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @param {number} queueId\n     * @param {EngineQueueHookServiceCreateQueueHookBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createQueueHook(\n      queueId: number,\n      body: EngineQueueHookServiceCreateQueueHookBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineQueueHook>\n    > {\n      const localVarAxiosArgs = await QueueHookServiceApiAxiosParamCreator(\n        configuration\n      ).createQueueHook(queueId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} queueId\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteQueueHook(\n      queueId: number,\n      id: number,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineQueueHook>\n    > {\n      const localVarAxiosArgs = await QueueHookServiceApiAxiosParamCreator(\n        configuration\n      ).deleteQueueHook(queueId, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} queueId\n     * @param {number} id\n     * @param {EngineQueueHookServicePatchQueueHookBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async patchQueueHook(\n      queueId: number,\n      id: number,\n      body: EngineQueueHookServicePatchQueueHookBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineQueueHook>\n    > {\n      const localVarAxiosArgs = await QueueHookServiceApiAxiosParamCreator(\n        configuration\n      ).patchQueueHook(queueId, id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} queueId\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readQueueHook(\n      queueId: number,\n      id: number,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineQueueHook>\n    > {\n      const localVarAxiosArgs = await QueueHookServiceApiAxiosParamCreator(\n        configuration\n      ).readQueueHook(queueId, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} queueId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {Array<number>} [schemaId]\n     * @param {Array<string>} [event]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchQueueHook(\n      queueId: number,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      schemaId?: Array<number>,\n      event?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListQueueHook>\n    > {\n      const localVarAxiosArgs = await QueueHookServiceApiAxiosParamCreator(\n        configuration\n      ).searchQueueHook(\n        queueId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        schemaId,\n        event,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} queueId\n     * @param {number} id\n     * @param {EngineQueueHookServiceUpdateQueueHookBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateQueueHook(\n      queueId: number,\n      id: number,\n      body: EngineQueueHookServiceUpdateQueueHookBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineQueueHook>\n    > {\n      const localVarAxiosArgs = await QueueHookServiceApiAxiosParamCreator(\n        configuration\n      ).updateQueueHook(queueId, id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * QueueHookServiceApi - factory interface\n * @export\n */\nexport const QueueHookServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {number} queueId\n     * @param {EngineQueueHookServiceCreateQueueHookBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createQueueHook(\n      queueId: number,\n      body: EngineQueueHookServiceCreateQueueHookBody,\n      options?: any\n    ): AxiosPromise<EngineQueueHook> {\n      return QueueHookServiceApiFp(configuration)\n        .createQueueHook(queueId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} queueId\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteQueueHook(\n      queueId: number,\n      id: number,\n      options?: any\n    ): AxiosPromise<EngineQueueHook> {\n      return QueueHookServiceApiFp(configuration)\n        .deleteQueueHook(queueId, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} queueId\n     * @param {number} id\n     * @param {EngineQueueHookServicePatchQueueHookBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchQueueHook(\n      queueId: number,\n      id: number,\n      body: EngineQueueHookServicePatchQueueHookBody,\n      options?: any\n    ): AxiosPromise<EngineQueueHook> {\n      return QueueHookServiceApiFp(configuration)\n        .patchQueueHook(queueId, id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} queueId\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readQueueHook(\n      queueId: number,\n      id: number,\n      options?: any\n    ): AxiosPromise<EngineQueueHook> {\n      return QueueHookServiceApiFp(configuration)\n        .readQueueHook(queueId, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} queueId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {Array<number>} [schemaId]\n     * @param {Array<string>} [event]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchQueueHook(\n      queueId: number,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      schemaId?: Array<number>,\n      event?: Array<string>,\n      options?: any\n    ): AxiosPromise<EngineListQueueHook> {\n      return QueueHookServiceApiFp(configuration)\n        .searchQueueHook(\n          queueId,\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          id,\n          schemaId,\n          event,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} queueId\n     * @param {number} id\n     * @param {EngineQueueHookServiceUpdateQueueHookBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateQueueHook(\n      queueId: number,\n      id: number,\n      body: EngineQueueHookServiceUpdateQueueHookBody,\n      options?: any\n    ): AxiosPromise<EngineQueueHook> {\n      return QueueHookServiceApiFp(configuration)\n        .updateQueueHook(queueId, id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * QueueHookServiceApi - object-oriented interface\n * @export\n * @class QueueHookServiceApi\n * @extends {BaseAPI}\n */\nexport class QueueHookServiceApi extends BaseAPI {\n  /**\n   *\n   * @param {number} queueId\n   * @param {EngineQueueHookServiceCreateQueueHookBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof QueueHookServiceApi\n   */\n  public createQueueHook(\n    queueId: number,\n    body: EngineQueueHookServiceCreateQueueHookBody,\n    options?: any\n  ) {\n    return QueueHookServiceApiFp(this.configuration)\n      .createQueueHook(queueId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} queueId\n   * @param {number} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof QueueHookServiceApi\n   */\n  public deleteQueueHook(queueId: number, id: number, options?: any) {\n    return QueueHookServiceApiFp(this.configuration)\n      .deleteQueueHook(queueId, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} queueId\n   * @param {number} id\n   * @param {EngineQueueHookServicePatchQueueHookBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof QueueHookServiceApi\n   */\n  public patchQueueHook(\n    queueId: number,\n    id: number,\n    body: EngineQueueHookServicePatchQueueHookBody,\n    options?: any\n  ) {\n    return QueueHookServiceApiFp(this.configuration)\n      .patchQueueHook(queueId, id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} queueId\n   * @param {number} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof QueueHookServiceApi\n   */\n  public readQueueHook(queueId: number, id: number, options?: any) {\n    return QueueHookServiceApiFp(this.configuration)\n      .readQueueHook(queueId, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} queueId\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<number>} [id]\n   * @param {Array<number>} [schemaId]\n   * @param {Array<string>} [event]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof QueueHookServiceApi\n   */\n  public searchQueueHook(\n    queueId: number,\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<number>,\n    schemaId?: Array<number>,\n    event?: Array<string>,\n    options?: any\n  ) {\n    return QueueHookServiceApiFp(this.configuration)\n      .searchQueueHook(\n        queueId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        schemaId,\n        event,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} queueId\n   * @param {number} id\n   * @param {EngineQueueHookServiceUpdateQueueHookBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof QueueHookServiceApi\n   */\n  public updateQueueHook(\n    queueId: number,\n    id: number,\n    body: EngineQueueHookServiceUpdateQueueHookBody,\n    options?: any\n  ) {\n    return QueueHookServiceApiFp(this.configuration)\n      .updateQueueHook(queueId, id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { EngineListQueueResourceGroup } from '../api'\n// @ts-ignore\nimport { EngineQueueResourceGroup } from '../api'\n// @ts-ignore\nimport { EngineQueueResourcesServiceCreateQueueResourceGroupBody } from '../api'\n// @ts-ignore\nimport { EngineQueueResourcesServiceUpdateQueueResourceGroupBody } from '../api'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n/**\n * QueueResourcesServiceApi - axios parameter creator\n * @export\n */\nexport const QueueResourcesServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary CreateQueueResourceGroup\n     * @param {string} queueId\n     * @param {EngineQueueResourcesServiceCreateQueueResourceGroupBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createQueueResourceGroup: async (\n      queueId: string,\n      body: EngineQueueResourcesServiceCreateQueueResourceGroupBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'queueId' is not null or undefined\n      if (queueId === null || queueId === undefined) {\n        throw new RequiredError(\n          'queueId',\n          'Required parameter queueId was null or undefined when calling createQueueResourceGroup.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createQueueResourceGroup.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{queue_id}/resource_groups`.replace(\n        `{${'queue_id'}}`,\n        encodeURIComponent(String(queueId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary DeleteQueueResourceGroup\n     * @param {string} queueId\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteQueueResourceGroup: async (\n      queueId: string,\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'queueId' is not null or undefined\n      if (queueId === null || queueId === undefined) {\n        throw new RequiredError(\n          'queueId',\n          'Required parameter queueId was null or undefined when calling deleteQueueResourceGroup.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteQueueResourceGroup.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{queue_id}/resource_groups/{id}`\n        .replace(`{${'queue_id'}}`, encodeURIComponent(String(queueId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary ReadQueueResourceGroup\n     * @param {string} queueId\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readQueueResourceGroup: async (\n      queueId: string,\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'queueId' is not null or undefined\n      if (queueId === null || queueId === undefined) {\n        throw new RequiredError(\n          'queueId',\n          'Required parameter queueId was null or undefined when calling readQueueResourceGroup.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readQueueResourceGroup.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{queue_id}/resource_groups/{id}`\n        .replace(`{${'queue_id'}}`, encodeURIComponent(String(queueId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary SearchQueueResourceGroup\n     * @param {string} queueId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchQueueResourceGroup: async (\n      queueId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'queueId' is not null or undefined\n      if (queueId === null || queueId === undefined) {\n        throw new RequiredError(\n          'queueId',\n          'Required parameter queueId was null or undefined when calling searchQueueResourceGroup.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{queue_id}/resource_groups`.replace(\n        `{${'queue_id'}}`,\n        encodeURIComponent(String(queueId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary UpdateQueueResourceGroup\n     * @param {string} queueId\n     * @param {string} id\n     * @param {EngineQueueResourcesServiceUpdateQueueResourceGroupBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateQueueResourceGroup: async (\n      queueId: string,\n      id: string,\n      body: EngineQueueResourcesServiceUpdateQueueResourceGroupBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'queueId' is not null or undefined\n      if (queueId === null || queueId === undefined) {\n        throw new RequiredError(\n          'queueId',\n          'Required parameter queueId was null or undefined when calling updateQueueResourceGroup.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateQueueResourceGroup.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateQueueResourceGroup.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{queue_id}/resource_groups/{id}`\n        .replace(`{${'queue_id'}}`, encodeURIComponent(String(queueId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * QueueResourcesServiceApi - functional programming interface\n * @export\n */\nexport const QueueResourcesServiceApiFp = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary CreateQueueResourceGroup\n     * @param {string} queueId\n     * @param {EngineQueueResourcesServiceCreateQueueResourceGroupBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createQueueResourceGroup(\n      queueId: string,\n      body: EngineQueueResourcesServiceCreateQueueResourceGroupBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineQueueResourceGroup>\n    > {\n      const localVarAxiosArgs = await QueueResourcesServiceApiAxiosParamCreator(\n        configuration\n      ).createQueueResourceGroup(queueId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary DeleteQueueResourceGroup\n     * @param {string} queueId\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteQueueResourceGroup(\n      queueId: string,\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineQueueResourceGroup>\n    > {\n      const localVarAxiosArgs = await QueueResourcesServiceApiAxiosParamCreator(\n        configuration\n      ).deleteQueueResourceGroup(queueId, id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary ReadQueueResourceGroup\n     * @param {string} queueId\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readQueueResourceGroup(\n      queueId: string,\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineQueueResourceGroup>\n    > {\n      const localVarAxiosArgs = await QueueResourcesServiceApiAxiosParamCreator(\n        configuration\n      ).readQueueResourceGroup(queueId, id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary SearchQueueResourceGroup\n     * @param {string} queueId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchQueueResourceGroup(\n      queueId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListQueueResourceGroup>\n    > {\n      const localVarAxiosArgs = await QueueResourcesServiceApiAxiosParamCreator(\n        configuration\n      ).searchQueueResourceGroup(\n        queueId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary UpdateQueueResourceGroup\n     * @param {string} queueId\n     * @param {string} id\n     * @param {EngineQueueResourcesServiceUpdateQueueResourceGroupBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateQueueResourceGroup(\n      queueId: string,\n      id: string,\n      body: EngineQueueResourcesServiceUpdateQueueResourceGroupBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineQueueResourceGroup>\n    > {\n      const localVarAxiosArgs = await QueueResourcesServiceApiAxiosParamCreator(\n        configuration\n      ).updateQueueResourceGroup(queueId, id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * QueueResourcesServiceApi - factory interface\n * @export\n */\nexport const QueueResourcesServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary CreateQueueResourceGroup\n     * @param {string} queueId\n     * @param {EngineQueueResourcesServiceCreateQueueResourceGroupBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createQueueResourceGroup(\n      queueId: string,\n      body: EngineQueueResourcesServiceCreateQueueResourceGroupBody,\n      options?: any\n    ): AxiosPromise<EngineQueueResourceGroup> {\n      return QueueResourcesServiceApiFp(configuration)\n        .createQueueResourceGroup(queueId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary DeleteQueueResourceGroup\n     * @param {string} queueId\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteQueueResourceGroup(\n      queueId: string,\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineQueueResourceGroup> {\n      return QueueResourcesServiceApiFp(configuration)\n        .deleteQueueResourceGroup(queueId, id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary ReadQueueResourceGroup\n     * @param {string} queueId\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readQueueResourceGroup(\n      queueId: string,\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineQueueResourceGroup> {\n      return QueueResourcesServiceApiFp(configuration)\n        .readQueueResourceGroup(queueId, id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary SearchQueueResourceGroup\n     * @param {string} queueId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchQueueResourceGroup(\n      queueId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options?: any\n    ): AxiosPromise<EngineListQueueResourceGroup> {\n      return QueueResourcesServiceApiFp(configuration)\n        .searchQueueResourceGroup(\n          queueId,\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          id,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary UpdateQueueResourceGroup\n     * @param {string} queueId\n     * @param {string} id\n     * @param {EngineQueueResourcesServiceUpdateQueueResourceGroupBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateQueueResourceGroup(\n      queueId: string,\n      id: string,\n      body: EngineQueueResourcesServiceUpdateQueueResourceGroupBody,\n      options?: any\n    ): AxiosPromise<EngineQueueResourceGroup> {\n      return QueueResourcesServiceApiFp(configuration)\n        .updateQueueResourceGroup(queueId, id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * QueueResourcesServiceApi - object-oriented interface\n * @export\n * @class QueueResourcesServiceApi\n * @extends {BaseAPI}\n */\nexport class QueueResourcesServiceApi extends BaseAPI {\n  /**\n   *\n   * @summary CreateQueueResourceGroup\n   * @param {string} queueId\n   * @param {EngineQueueResourcesServiceCreateQueueResourceGroupBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof QueueResourcesServiceApi\n   */\n  public createQueueResourceGroup(\n    queueId: string,\n    body: EngineQueueResourcesServiceCreateQueueResourceGroupBody,\n    options?: any\n  ) {\n    return QueueResourcesServiceApiFp(this.configuration)\n      .createQueueResourceGroup(queueId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary DeleteQueueResourceGroup\n   * @param {string} queueId\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof QueueResourcesServiceApi\n   */\n  public deleteQueueResourceGroup(\n    queueId: string,\n    id: string,\n    domainId?: string,\n    options?: any\n  ) {\n    return QueueResourcesServiceApiFp(this.configuration)\n      .deleteQueueResourceGroup(queueId, id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary ReadQueueResourceGroup\n   * @param {string} queueId\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof QueueResourcesServiceApi\n   */\n  public readQueueResourceGroup(\n    queueId: string,\n    id: string,\n    domainId?: string,\n    options?: any\n  ) {\n    return QueueResourcesServiceApiFp(this.configuration)\n      .readQueueResourceGroup(queueId, id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary SearchQueueResourceGroup\n   * @param {string} queueId\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<number>} [id]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof QueueResourcesServiceApi\n   */\n  public searchQueueResourceGroup(\n    queueId: string,\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<number>,\n    options?: any\n  ) {\n    return QueueResourcesServiceApiFp(this.configuration)\n      .searchQueueResourceGroup(\n        queueId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary UpdateQueueResourceGroup\n   * @param {string} queueId\n   * @param {string} id\n   * @param {EngineQueueResourcesServiceUpdateQueueResourceGroupBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof QueueResourcesServiceApi\n   */\n  public updateQueueResourceGroup(\n    queueId: string,\n    id: string,\n    body: EngineQueueResourcesServiceUpdateQueueResourceGroupBody,\n    options?: any\n  ) {\n    return QueueResourcesServiceApiFp(this.configuration)\n      .updateQueueResourceGroup(queueId, id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { EngineCreateQueueRequest } from '../api'\n// @ts-ignore\nimport { EngineListQueue } from '../api'\n// @ts-ignore\nimport { EngineListReportGeneral } from '../api'\n// @ts-ignore\nimport { EngineListTags } from '../api'\n// @ts-ignore\nimport { EngineQueue } from '../api'\n// @ts-ignore\nimport { EngineQueueServicePatchQueueBody } from '../api'\n// @ts-ignore\nimport { EngineQueueServiceUpdateQueueBody } from '../api'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n/**\n * QueueServiceApi - axios parameter creator\n * @export\n */\nexport const QueueServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create Queue\n     * @param {EngineCreateQueueRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createQueue: async (\n      body: EngineCreateQueueRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createQueue.'\n        )\n      }\n      const localVarPath = `/call_center/queues`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Remove Queue\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteQueue: async (\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteQueue.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Patch Queue\n     * @param {string} id\n     * @param {EngineQueueServicePatchQueueBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchQueue: async (\n      id: string,\n      body: EngineQueueServicePatchQueueBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling patchQueue.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling patchQueue.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Queue item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readQueue: async (\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readQueue.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary List of Queue\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [id]\n     * @param {Array<number>} [type]\n     * @param {Array<number>} [teamId]\n     * @param {Array<string>} [tags]\n     * @param {boolean} [enabled]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchQueue: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<string>,\n      type?: Array<number>,\n      teamId?: Array<number>,\n      tags?: Array<string>,\n      enabled?: boolean,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/call_center/queues`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (type) {\n        localVarQueryParameter['type'] = type\n      }\n\n      if (teamId) {\n        localVarQueryParameter['team_id'] = teamId\n      }\n\n      if (tags) {\n        localVarQueryParameter['tags'] = tags\n      }\n\n      if (enabled !== undefined) {\n        localVarQueryParameter['enabled'] = enabled\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [joinedAtFrom]\n     * @param {string} [joinedAtTo]\n     * @param {string} [domainId]\n     * @param {Array<string>} [fields]\n     * @param {string} [sort]\n     * @param {string} [q]\n     * @param {Array<number>} [queueId]\n     * @param {Array<number>} [teamId]\n     * @param {Array<number>} [type]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchQueueReportGeneral: async (\n      page?: number,\n      size?: number,\n      joinedAtFrom?: string,\n      joinedAtTo?: string,\n      domainId?: string,\n      fields?: Array<string>,\n      sort?: string,\n      q?: string,\n      queueId?: Array<number>,\n      teamId?: Array<number>,\n      type?: Array<number>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/call_center/queues/reports/general`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (joinedAtFrom !== undefined) {\n        localVarQueryParameter['joined_at.from'] = joinedAtFrom\n      }\n\n      if (joinedAtTo !== undefined) {\n        localVarQueryParameter['joined_at.to'] = joinedAtTo\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (queueId) {\n        localVarQueryParameter['queue_id'] = queueId\n      }\n\n      if (teamId) {\n        localVarQueryParameter['team_id'] = teamId\n      }\n\n      if (type) {\n        localVarQueryParameter['type'] = type\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary List RoutingSchemaTags\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchQueueTags: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/call_center/queues/tags`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update Queue\n     * @param {string} id\n     * @param {EngineQueueServiceUpdateQueueBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateQueue: async (\n      id: string,\n      body: EngineQueueServiceUpdateQueueBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateQueue.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateQueue.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * QueueServiceApi - functional programming interface\n * @export\n */\nexport const QueueServiceApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Create Queue\n     * @param {EngineCreateQueueRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createQueue(\n      body: EngineCreateQueueRequest,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineQueue>\n    > {\n      const localVarAxiosArgs = await QueueServiceApiAxiosParamCreator(\n        configuration\n      ).createQueue(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Remove Queue\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteQueue(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineQueue>\n    > {\n      const localVarAxiosArgs = await QueueServiceApiAxiosParamCreator(\n        configuration\n      ).deleteQueue(id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Patch Queue\n     * @param {string} id\n     * @param {EngineQueueServicePatchQueueBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async patchQueue(\n      id: string,\n      body: EngineQueueServicePatchQueueBody,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineQueue>\n    > {\n      const localVarAxiosArgs = await QueueServiceApiAxiosParamCreator(\n        configuration\n      ).patchQueue(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Queue item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readQueue(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineQueue>\n    > {\n      const localVarAxiosArgs = await QueueServiceApiAxiosParamCreator(\n        configuration\n      ).readQueue(id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary List of Queue\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [id]\n     * @param {Array<number>} [type]\n     * @param {Array<number>} [teamId]\n     * @param {Array<string>} [tags]\n     * @param {boolean} [enabled]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchQueue(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<string>,\n      type?: Array<number>,\n      teamId?: Array<number>,\n      tags?: Array<string>,\n      enabled?: boolean,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListQueue>\n    > {\n      const localVarAxiosArgs = await QueueServiceApiAxiosParamCreator(\n        configuration\n      ).searchQueue(\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        type,\n        teamId,\n        tags,\n        enabled,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [joinedAtFrom]\n     * @param {string} [joinedAtTo]\n     * @param {string} [domainId]\n     * @param {Array<string>} [fields]\n     * @param {string} [sort]\n     * @param {string} [q]\n     * @param {Array<number>} [queueId]\n     * @param {Array<number>} [teamId]\n     * @param {Array<number>} [type]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchQueueReportGeneral(\n      page?: number,\n      size?: number,\n      joinedAtFrom?: string,\n      joinedAtTo?: string,\n      domainId?: string,\n      fields?: Array<string>,\n      sort?: string,\n      q?: string,\n      queueId?: Array<number>,\n      teamId?: Array<number>,\n      type?: Array<number>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListReportGeneral>\n    > {\n      const localVarAxiosArgs = await QueueServiceApiAxiosParamCreator(\n        configuration\n      ).searchQueueReportGeneral(\n        page,\n        size,\n        joinedAtFrom,\n        joinedAtTo,\n        domainId,\n        fields,\n        sort,\n        q,\n        queueId,\n        teamId,\n        type,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary List RoutingSchemaTags\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchQueueTags(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineListTags>\n    > {\n      const localVarAxiosArgs = await QueueServiceApiAxiosParamCreator(\n        configuration\n      ).searchQueueTags(page, size, q, sort, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update Queue\n     * @param {string} id\n     * @param {EngineQueueServiceUpdateQueueBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateQueue(\n      id: string,\n      body: EngineQueueServiceUpdateQueueBody,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineQueue>\n    > {\n      const localVarAxiosArgs = await QueueServiceApiAxiosParamCreator(\n        configuration\n      ).updateQueue(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * QueueServiceApi - factory interface\n * @export\n */\nexport const QueueServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Create Queue\n     * @param {EngineCreateQueueRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createQueue(\n      body: EngineCreateQueueRequest,\n      options?: any\n    ): AxiosPromise<EngineQueue> {\n      return QueueServiceApiFp(configuration)\n        .createQueue(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Remove Queue\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteQueue(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineQueue> {\n      return QueueServiceApiFp(configuration)\n        .deleteQueue(id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Patch Queue\n     * @param {string} id\n     * @param {EngineQueueServicePatchQueueBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchQueue(\n      id: string,\n      body: EngineQueueServicePatchQueueBody,\n      options?: any\n    ): AxiosPromise<EngineQueue> {\n      return QueueServiceApiFp(configuration)\n        .patchQueue(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Queue item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readQueue(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineQueue> {\n      return QueueServiceApiFp(configuration)\n        .readQueue(id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary List of Queue\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [id]\n     * @param {Array<number>} [type]\n     * @param {Array<number>} [teamId]\n     * @param {Array<string>} [tags]\n     * @param {boolean} [enabled]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchQueue(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<string>,\n      type?: Array<number>,\n      teamId?: Array<number>,\n      tags?: Array<string>,\n      enabled?: boolean,\n      options?: any\n    ): AxiosPromise<EngineListQueue> {\n      return QueueServiceApiFp(configuration)\n        .searchQueue(\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          id,\n          type,\n          teamId,\n          tags,\n          enabled,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [joinedAtFrom]\n     * @param {string} [joinedAtTo]\n     * @param {string} [domainId]\n     * @param {Array<string>} [fields]\n     * @param {string} [sort]\n     * @param {string} [q]\n     * @param {Array<number>} [queueId]\n     * @param {Array<number>} [teamId]\n     * @param {Array<number>} [type]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchQueueReportGeneral(\n      page?: number,\n      size?: number,\n      joinedAtFrom?: string,\n      joinedAtTo?: string,\n      domainId?: string,\n      fields?: Array<string>,\n      sort?: string,\n      q?: string,\n      queueId?: Array<number>,\n      teamId?: Array<number>,\n      type?: Array<number>,\n      options?: any\n    ): AxiosPromise<EngineListReportGeneral> {\n      return QueueServiceApiFp(configuration)\n        .searchQueueReportGeneral(\n          page,\n          size,\n          joinedAtFrom,\n          joinedAtTo,\n          domainId,\n          fields,\n          sort,\n          q,\n          queueId,\n          teamId,\n          type,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary List RoutingSchemaTags\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchQueueTags(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<EngineListTags> {\n      return QueueServiceApiFp(configuration)\n        .searchQueueTags(page, size, q, sort, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update Queue\n     * @param {string} id\n     * @param {EngineQueueServiceUpdateQueueBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateQueue(\n      id: string,\n      body: EngineQueueServiceUpdateQueueBody,\n      options?: any\n    ): AxiosPromise<EngineQueue> {\n      return QueueServiceApiFp(configuration)\n        .updateQueue(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * QueueServiceApi - object-oriented interface\n * @export\n * @class QueueServiceApi\n * @extends {BaseAPI}\n */\nexport class QueueServiceApi extends BaseAPI {\n  /**\n   *\n   * @summary Create Queue\n   * @param {EngineCreateQueueRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof QueueServiceApi\n   */\n  public createQueue(body: EngineCreateQueueRequest, options?: any) {\n    return QueueServiceApiFp(this.configuration)\n      .createQueue(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Remove Queue\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof QueueServiceApi\n   */\n  public deleteQueue(id: string, domainId?: string, options?: any) {\n    return QueueServiceApiFp(this.configuration)\n      .deleteQueue(id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Patch Queue\n   * @param {string} id\n   * @param {EngineQueueServicePatchQueueBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof QueueServiceApi\n   */\n  public patchQueue(\n    id: string,\n    body: EngineQueueServicePatchQueueBody,\n    options?: any\n  ) {\n    return QueueServiceApiFp(this.configuration)\n      .patchQueue(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Queue item\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof QueueServiceApi\n   */\n  public readQueue(id: string, domainId?: string, options?: any) {\n    return QueueServiceApiFp(this.configuration)\n      .readQueue(id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary List of Queue\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<string>} [id]\n   * @param {Array<number>} [type]\n   * @param {Array<number>} [teamId]\n   * @param {Array<string>} [tags]\n   * @param {boolean} [enabled]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof QueueServiceApi\n   */\n  public searchQueue(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<string>,\n    type?: Array<number>,\n    teamId?: Array<number>,\n    tags?: Array<string>,\n    enabled?: boolean,\n    options?: any\n  ) {\n    return QueueServiceApiFp(this.configuration)\n      .searchQueue(\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        type,\n        teamId,\n        tags,\n        enabled,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [joinedAtFrom]\n   * @param {string} [joinedAtTo]\n   * @param {string} [domainId]\n   * @param {Array<string>} [fields]\n   * @param {string} [sort]\n   * @param {string} [q]\n   * @param {Array<number>} [queueId]\n   * @param {Array<number>} [teamId]\n   * @param {Array<number>} [type]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof QueueServiceApi\n   */\n  public searchQueueReportGeneral(\n    page?: number,\n    size?: number,\n    joinedAtFrom?: string,\n    joinedAtTo?: string,\n    domainId?: string,\n    fields?: Array<string>,\n    sort?: string,\n    q?: string,\n    queueId?: Array<number>,\n    teamId?: Array<number>,\n    type?: Array<number>,\n    options?: any\n  ) {\n    return QueueServiceApiFp(this.configuration)\n      .searchQueueReportGeneral(\n        page,\n        size,\n        joinedAtFrom,\n        joinedAtTo,\n        domainId,\n        fields,\n        sort,\n        q,\n        queueId,\n        teamId,\n        type,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary List RoutingSchemaTags\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof QueueServiceApi\n   */\n  public searchQueueTags(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return QueueServiceApiFp(this.configuration)\n      .searchQueueTags(page, size, q, sort, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update Queue\n   * @param {string} id\n   * @param {EngineQueueServiceUpdateQueueBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof QueueServiceApi\n   */\n  public updateQueue(\n    id: string,\n    body: EngineQueueServiceUpdateQueueBody,\n    options?: any\n  ) {\n    return QueueServiceApiFp(this.configuration)\n      .updateQueue(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { EngineListQueueSkill } from '../api'\n// @ts-ignore\nimport { EngineQueueSkill } from '../api'\n// @ts-ignore\nimport { EngineQueueSkillServiceCreateQueueSkillBody } from '../api'\n// @ts-ignore\nimport { EngineQueueSkillServicePatchQueueSkillBody } from '../api'\n// @ts-ignore\nimport { EngineQueueSkillServiceUpdateQueueSkillBody } from '../api'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n/**\n * QueueSkillServiceApi - axios parameter creator\n * @export\n */\nexport const QueueSkillServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {number} queueId\n     * @param {EngineQueueSkillServiceCreateQueueSkillBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createQueueSkill: async (\n      queueId: number,\n      body: EngineQueueSkillServiceCreateQueueSkillBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'queueId' is not null or undefined\n      if (queueId === null || queueId === undefined) {\n        throw new RequiredError(\n          'queueId',\n          'Required parameter queueId was null or undefined when calling createQueueSkill.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createQueueSkill.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{queue_id}/skills`.replace(\n        `{${'queue_id'}}`,\n        encodeURIComponent(String(queueId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} queueId\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteQueueSkill: async (\n      queueId: number,\n      id: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'queueId' is not null or undefined\n      if (queueId === null || queueId === undefined) {\n        throw new RequiredError(\n          'queueId',\n          'Required parameter queueId was null or undefined when calling deleteQueueSkill.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteQueueSkill.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{queue_id}/skills/{id}`\n        .replace(`{${'queue_id'}}`, encodeURIComponent(String(queueId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} queueId\n     * @param {number} id\n     * @param {EngineQueueSkillServicePatchQueueSkillBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchQueueSkill: async (\n      queueId: number,\n      id: number,\n      body: EngineQueueSkillServicePatchQueueSkillBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'queueId' is not null or undefined\n      if (queueId === null || queueId === undefined) {\n        throw new RequiredError(\n          'queueId',\n          'Required parameter queueId was null or undefined when calling patchQueueSkill.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling patchQueueSkill.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling patchQueueSkill.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{queue_id}/skills/{id}`\n        .replace(`{${'queue_id'}}`, encodeURIComponent(String(queueId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} queueId\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readQueueSkill: async (\n      queueId: number,\n      id: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'queueId' is not null or undefined\n      if (queueId === null || queueId === undefined) {\n        throw new RequiredError(\n          'queueId',\n          'Required parameter queueId was null or undefined when calling readQueueSkill.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readQueueSkill.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{queue_id}/skills/{id}`\n        .replace(`{${'queue_id'}}`, encodeURIComponent(String(queueId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} queueId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {Array<number>} [skillId]\n     * @param {Array<number>} [bucketId]\n     * @param {Array<number>} [lvl]\n     * @param {Array<number>} [minCapacity]\n     * @param {Array<number>} [maxCapacity]\n     * @param {boolean} [enabled]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchQueueSkill: async (\n      queueId: number,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      skillId?: Array<number>,\n      bucketId?: Array<number>,\n      lvl?: Array<number>,\n      minCapacity?: Array<number>,\n      maxCapacity?: Array<number>,\n      enabled?: boolean,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'queueId' is not null or undefined\n      if (queueId === null || queueId === undefined) {\n        throw new RequiredError(\n          'queueId',\n          'Required parameter queueId was null or undefined when calling searchQueueSkill.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{queue_id}/skills`.replace(\n        `{${'queue_id'}}`,\n        encodeURIComponent(String(queueId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (skillId) {\n        localVarQueryParameter['skill_id'] = skillId\n      }\n\n      if (bucketId) {\n        localVarQueryParameter['bucket_id'] = bucketId\n      }\n\n      if (lvl) {\n        localVarQueryParameter['lvl'] = lvl\n      }\n\n      if (minCapacity) {\n        localVarQueryParameter['min_capacity'] = minCapacity\n      }\n\n      if (maxCapacity) {\n        localVarQueryParameter['max_capacity'] = maxCapacity\n      }\n\n      if (enabled !== undefined) {\n        localVarQueryParameter['enabled'] = enabled\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} queueId\n     * @param {number} id\n     * @param {EngineQueueSkillServiceUpdateQueueSkillBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateQueueSkill: async (\n      queueId: number,\n      id: number,\n      body: EngineQueueSkillServiceUpdateQueueSkillBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'queueId' is not null or undefined\n      if (queueId === null || queueId === undefined) {\n        throw new RequiredError(\n          'queueId',\n          'Required parameter queueId was null or undefined when calling updateQueueSkill.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateQueueSkill.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateQueueSkill.'\n        )\n      }\n      const localVarPath = `/call_center/queues/{queue_id}/skills/{id}`\n        .replace(`{${'queue_id'}}`, encodeURIComponent(String(queueId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * QueueSkillServiceApi - functional programming interface\n * @export\n */\nexport const QueueSkillServiceApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @param {number} queueId\n     * @param {EngineQueueSkillServiceCreateQueueSkillBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createQueueSkill(\n      queueId: number,\n      body: EngineQueueSkillServiceCreateQueueSkillBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineQueueSkill>\n    > {\n      const localVarAxiosArgs = await QueueSkillServiceApiAxiosParamCreator(\n        configuration\n      ).createQueueSkill(queueId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} queueId\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteQueueSkill(\n      queueId: number,\n      id: number,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineQueueSkill>\n    > {\n      const localVarAxiosArgs = await QueueSkillServiceApiAxiosParamCreator(\n        configuration\n      ).deleteQueueSkill(queueId, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} queueId\n     * @param {number} id\n     * @param {EngineQueueSkillServicePatchQueueSkillBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async patchQueueSkill(\n      queueId: number,\n      id: number,\n      body: EngineQueueSkillServicePatchQueueSkillBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineQueueSkill>\n    > {\n      const localVarAxiosArgs = await QueueSkillServiceApiAxiosParamCreator(\n        configuration\n      ).patchQueueSkill(queueId, id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} queueId\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readQueueSkill(\n      queueId: number,\n      id: number,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineQueueSkill>\n    > {\n      const localVarAxiosArgs = await QueueSkillServiceApiAxiosParamCreator(\n        configuration\n      ).readQueueSkill(queueId, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} queueId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {Array<number>} [skillId]\n     * @param {Array<number>} [bucketId]\n     * @param {Array<number>} [lvl]\n     * @param {Array<number>} [minCapacity]\n     * @param {Array<number>} [maxCapacity]\n     * @param {boolean} [enabled]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchQueueSkill(\n      queueId: number,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      skillId?: Array<number>,\n      bucketId?: Array<number>,\n      lvl?: Array<number>,\n      minCapacity?: Array<number>,\n      maxCapacity?: Array<number>,\n      enabled?: boolean,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListQueueSkill>\n    > {\n      const localVarAxiosArgs = await QueueSkillServiceApiAxiosParamCreator(\n        configuration\n      ).searchQueueSkill(\n        queueId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        skillId,\n        bucketId,\n        lvl,\n        minCapacity,\n        maxCapacity,\n        enabled,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} queueId\n     * @param {number} id\n     * @param {EngineQueueSkillServiceUpdateQueueSkillBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateQueueSkill(\n      queueId: number,\n      id: number,\n      body: EngineQueueSkillServiceUpdateQueueSkillBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineQueueSkill>\n    > {\n      const localVarAxiosArgs = await QueueSkillServiceApiAxiosParamCreator(\n        configuration\n      ).updateQueueSkill(queueId, id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * QueueSkillServiceApi - factory interface\n * @export\n */\nexport const QueueSkillServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {number} queueId\n     * @param {EngineQueueSkillServiceCreateQueueSkillBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createQueueSkill(\n      queueId: number,\n      body: EngineQueueSkillServiceCreateQueueSkillBody,\n      options?: any\n    ): AxiosPromise<EngineQueueSkill> {\n      return QueueSkillServiceApiFp(configuration)\n        .createQueueSkill(queueId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} queueId\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteQueueSkill(\n      queueId: number,\n      id: number,\n      options?: any\n    ): AxiosPromise<EngineQueueSkill> {\n      return QueueSkillServiceApiFp(configuration)\n        .deleteQueueSkill(queueId, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} queueId\n     * @param {number} id\n     * @param {EngineQueueSkillServicePatchQueueSkillBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchQueueSkill(\n      queueId: number,\n      id: number,\n      body: EngineQueueSkillServicePatchQueueSkillBody,\n      options?: any\n    ): AxiosPromise<EngineQueueSkill> {\n      return QueueSkillServiceApiFp(configuration)\n        .patchQueueSkill(queueId, id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} queueId\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readQueueSkill(\n      queueId: number,\n      id: number,\n      options?: any\n    ): AxiosPromise<EngineQueueSkill> {\n      return QueueSkillServiceApiFp(configuration)\n        .readQueueSkill(queueId, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} queueId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {Array<number>} [skillId]\n     * @param {Array<number>} [bucketId]\n     * @param {Array<number>} [lvl]\n     * @param {Array<number>} [minCapacity]\n     * @param {Array<number>} [maxCapacity]\n     * @param {boolean} [enabled]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchQueueSkill(\n      queueId: number,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      skillId?: Array<number>,\n      bucketId?: Array<number>,\n      lvl?: Array<number>,\n      minCapacity?: Array<number>,\n      maxCapacity?: Array<number>,\n      enabled?: boolean,\n      options?: any\n    ): AxiosPromise<EngineListQueueSkill> {\n      return QueueSkillServiceApiFp(configuration)\n        .searchQueueSkill(\n          queueId,\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          id,\n          skillId,\n          bucketId,\n          lvl,\n          minCapacity,\n          maxCapacity,\n          enabled,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} queueId\n     * @param {number} id\n     * @param {EngineQueueSkillServiceUpdateQueueSkillBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateQueueSkill(\n      queueId: number,\n      id: number,\n      body: EngineQueueSkillServiceUpdateQueueSkillBody,\n      options?: any\n    ): AxiosPromise<EngineQueueSkill> {\n      return QueueSkillServiceApiFp(configuration)\n        .updateQueueSkill(queueId, id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * QueueSkillServiceApi - object-oriented interface\n * @export\n * @class QueueSkillServiceApi\n * @extends {BaseAPI}\n */\nexport class QueueSkillServiceApi extends BaseAPI {\n  /**\n   *\n   * @param {number} queueId\n   * @param {EngineQueueSkillServiceCreateQueueSkillBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof QueueSkillServiceApi\n   */\n  public createQueueSkill(\n    queueId: number,\n    body: EngineQueueSkillServiceCreateQueueSkillBody,\n    options?: any\n  ) {\n    return QueueSkillServiceApiFp(this.configuration)\n      .createQueueSkill(queueId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} queueId\n   * @param {number} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof QueueSkillServiceApi\n   */\n  public deleteQueueSkill(queueId: number, id: number, options?: any) {\n    return QueueSkillServiceApiFp(this.configuration)\n      .deleteQueueSkill(queueId, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} queueId\n   * @param {number} id\n   * @param {EngineQueueSkillServicePatchQueueSkillBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof QueueSkillServiceApi\n   */\n  public patchQueueSkill(\n    queueId: number,\n    id: number,\n    body: EngineQueueSkillServicePatchQueueSkillBody,\n    options?: any\n  ) {\n    return QueueSkillServiceApiFp(this.configuration)\n      .patchQueueSkill(queueId, id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} queueId\n   * @param {number} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof QueueSkillServiceApi\n   */\n  public readQueueSkill(queueId: number, id: number, options?: any) {\n    return QueueSkillServiceApiFp(this.configuration)\n      .readQueueSkill(queueId, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} queueId\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<number>} [id]\n   * @param {Array<number>} [skillId]\n   * @param {Array<number>} [bucketId]\n   * @param {Array<number>} [lvl]\n   * @param {Array<number>} [minCapacity]\n   * @param {Array<number>} [maxCapacity]\n   * @param {boolean} [enabled]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof QueueSkillServiceApi\n   */\n  public searchQueueSkill(\n    queueId: number,\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<number>,\n    skillId?: Array<number>,\n    bucketId?: Array<number>,\n    lvl?: Array<number>,\n    minCapacity?: Array<number>,\n    maxCapacity?: Array<number>,\n    enabled?: boolean,\n    options?: any\n  ) {\n    return QueueSkillServiceApiFp(this.configuration)\n      .searchQueueSkill(\n        queueId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        skillId,\n        bucketId,\n        lvl,\n        minCapacity,\n        maxCapacity,\n        enabled,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} queueId\n   * @param {number} id\n   * @param {EngineQueueSkillServiceUpdateQueueSkillBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof QueueSkillServiceApi\n   */\n  public updateQueueSkill(\n    queueId: number,\n    id: number,\n    body: EngineQueueSkillServiceUpdateQueueSkillBody,\n    options?: any\n  ) {\n    return QueueSkillServiceApiFp(this.configuration)\n      .updateQueueSkill(queueId, id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { EngineCreateQuickReplyRequest } from '../api'\n// @ts-ignore\nimport { EngineListQuickReplies } from '../api'\n// @ts-ignore\nimport { EngineQuickRepliesServicePatchQuickReplyBody } from '../api'\n// @ts-ignore\nimport { EngineQuickRepliesServiceUpdateQuickReplyBody } from '../api'\n// @ts-ignore\nimport { EngineQuickReply } from '../api'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n/**\n * QuickRepliesServiceApi - axios parameter creator\n * @export\n */\nexport const QuickRepliesServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {EngineCreateQuickReplyRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createQuickReply: async (\n      body: EngineCreateQuickReplyRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createQuickReply.'\n        )\n      }\n      const localVarPath = `/call_center/quick_replies`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteQuickReply: async (\n      id: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteQuickReply.'\n        )\n      }\n      const localVarPath = `/call_center/quick_replies/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineQuickRepliesServicePatchQuickReplyBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchQuickReply: async (\n      id: number,\n      body: EngineQuickRepliesServicePatchQuickReplyBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling patchQuickReply.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling patchQuickReply.'\n        )\n      }\n      const localVarPath = `/call_center/quick_replies/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readQuickReply: async (\n      id: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readQuickReply.'\n        )\n      }\n      const localVarPath = `/call_center/quick_replies/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchQuickReplies: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/call_center/quick_replies`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineQuickRepliesServiceUpdateQuickReplyBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateQuickReply: async (\n      id: number,\n      body: EngineQuickRepliesServiceUpdateQuickReplyBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateQuickReply.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateQuickReply.'\n        )\n      }\n      const localVarPath = `/call_center/quick_replies/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * QuickRepliesServiceApi - functional programming interface\n * @export\n */\nexport const QuickRepliesServiceApiFp = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {EngineCreateQuickReplyRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createQuickReply(\n      body: EngineCreateQuickReplyRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineQuickReply>\n    > {\n      const localVarAxiosArgs = await QuickRepliesServiceApiAxiosParamCreator(\n        configuration\n      ).createQuickReply(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteQuickReply(\n      id: number,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineQuickReply>\n    > {\n      const localVarAxiosArgs = await QuickRepliesServiceApiAxiosParamCreator(\n        configuration\n      ).deleteQuickReply(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineQuickRepliesServicePatchQuickReplyBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async patchQuickReply(\n      id: number,\n      body: EngineQuickRepliesServicePatchQuickReplyBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineQuickReply>\n    > {\n      const localVarAxiosArgs = await QuickRepliesServiceApiAxiosParamCreator(\n        configuration\n      ).patchQuickReply(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readQuickReply(\n      id: number,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineQuickReply>\n    > {\n      const localVarAxiosArgs = await QuickRepliesServiceApiAxiosParamCreator(\n        configuration\n      ).readQuickReply(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchQuickReplies(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListQuickReplies>\n    > {\n      const localVarAxiosArgs = await QuickRepliesServiceApiAxiosParamCreator(\n        configuration\n      ).searchQuickReplies(page, size, q, sort, fields, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineQuickRepliesServiceUpdateQuickReplyBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateQuickReply(\n      id: number,\n      body: EngineQuickRepliesServiceUpdateQuickReplyBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineQuickReply>\n    > {\n      const localVarAxiosArgs = await QuickRepliesServiceApiAxiosParamCreator(\n        configuration\n      ).updateQuickReply(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * QuickRepliesServiceApi - factory interface\n * @export\n */\nexport const QuickRepliesServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {EngineCreateQuickReplyRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createQuickReply(\n      body: EngineCreateQuickReplyRequest,\n      options?: any\n    ): AxiosPromise<EngineQuickReply> {\n      return QuickRepliesServiceApiFp(configuration)\n        .createQuickReply(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteQuickReply(\n      id: number,\n      options?: any\n    ): AxiosPromise<EngineQuickReply> {\n      return QuickRepliesServiceApiFp(configuration)\n        .deleteQuickReply(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineQuickRepliesServicePatchQuickReplyBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchQuickReply(\n      id: number,\n      body: EngineQuickRepliesServicePatchQuickReplyBody,\n      options?: any\n    ): AxiosPromise<EngineQuickReply> {\n      return QuickRepliesServiceApiFp(configuration)\n        .patchQuickReply(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readQuickReply(id: number, options?: any): AxiosPromise<EngineQuickReply> {\n      return QuickRepliesServiceApiFp(configuration)\n        .readQuickReply(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchQuickReplies(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options?: any\n    ): AxiosPromise<EngineListQuickReplies> {\n      return QuickRepliesServiceApiFp(configuration)\n        .searchQuickReplies(page, size, q, sort, fields, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineQuickRepliesServiceUpdateQuickReplyBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateQuickReply(\n      id: number,\n      body: EngineQuickRepliesServiceUpdateQuickReplyBody,\n      options?: any\n    ): AxiosPromise<EngineQuickReply> {\n      return QuickRepliesServiceApiFp(configuration)\n        .updateQuickReply(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * QuickRepliesServiceApi - object-oriented interface\n * @export\n * @class QuickRepliesServiceApi\n * @extends {BaseAPI}\n */\nexport class QuickRepliesServiceApi extends BaseAPI {\n  /**\n   *\n   * @param {EngineCreateQuickReplyRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof QuickRepliesServiceApi\n   */\n  public createQuickReply(body: EngineCreateQuickReplyRequest, options?: any) {\n    return QuickRepliesServiceApiFp(this.configuration)\n      .createQuickReply(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof QuickRepliesServiceApi\n   */\n  public deleteQuickReply(id: number, options?: any) {\n    return QuickRepliesServiceApiFp(this.configuration)\n      .deleteQuickReply(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} id\n   * @param {EngineQuickRepliesServicePatchQuickReplyBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof QuickRepliesServiceApi\n   */\n  public patchQuickReply(\n    id: number,\n    body: EngineQuickRepliesServicePatchQuickReplyBody,\n    options?: any\n  ) {\n    return QuickRepliesServiceApiFp(this.configuration)\n      .patchQuickReply(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof QuickRepliesServiceApi\n   */\n  public readQuickReply(id: number, options?: any) {\n    return QuickRepliesServiceApiFp(this.configuration)\n      .readQuickReply(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<number>} [id]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof QuickRepliesServiceApi\n   */\n  public searchQuickReplies(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<number>,\n    options?: any\n  ) {\n    return QuickRepliesServiceApiFp(this.configuration)\n      .searchQuickReplies(page, size, q, sort, fields, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} id\n   * @param {EngineQuickRepliesServiceUpdateQuickReplyBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof QuickRepliesServiceApi\n   */\n  public updateQuickReply(\n    id: number,\n    body: EngineQuickRepliesServiceUpdateQuickReplyBody,\n    options?: any\n  ) {\n    return QuickRepliesServiceApiFp(this.configuration)\n      .updateQuickReply(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { EngineCreateRegionRequest } from '../api'\n// @ts-ignore\nimport { EngineListRegion } from '../api'\n// @ts-ignore\nimport { EngineRegion } from '../api'\n// @ts-ignore\nimport { EngineRegionServicePatchRegionBody } from '../api'\n// @ts-ignore\nimport { EngineRegionServiceUpdateRegionBody } from '../api'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n/**\n * RegionServiceApi - axios parameter creator\n * @export\n */\nexport const RegionServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {EngineCreateRegionRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createRegion: async (\n      body: EngineCreateRegionRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createRegion.'\n        )\n      }\n      const localVarPath = `/regions`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteRegion: async (\n      id: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteRegion.'\n        )\n      }\n      const localVarPath = `/regions/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineRegionServicePatchRegionBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchRegion: async (\n      id: string,\n      body: EngineRegionServicePatchRegionBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling patchRegion.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling patchRegion.'\n        )\n      }\n      const localVarPath = `/regions/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readRegion: async (id: string, options: any = {}): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readRegion.'\n        )\n      }\n      const localVarPath = `/regions/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [id]\n     * @param {string} [name]\n     * @param {string} [description]\n     * @param {Array<number>} [timezoneId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchRegion: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<string>,\n      name?: string,\n      description?: string,\n      timezoneId?: Array<number>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/regions`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (name !== undefined) {\n        localVarQueryParameter['name'] = name\n      }\n\n      if (description !== undefined) {\n        localVarQueryParameter['description'] = description\n      }\n\n      if (timezoneId) {\n        localVarQueryParameter['timezone_id'] = timezoneId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineRegionServiceUpdateRegionBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateRegion: async (\n      id: string,\n      body: EngineRegionServiceUpdateRegionBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateRegion.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateRegion.'\n        )\n      }\n      const localVarPath = `/regions/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * RegionServiceApi - functional programming interface\n * @export\n */\nexport const RegionServiceApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @param {EngineCreateRegionRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createRegion(\n      body: EngineCreateRegionRequest,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineRegion>\n    > {\n      const localVarAxiosArgs = await RegionServiceApiAxiosParamCreator(\n        configuration\n      ).createRegion(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteRegion(\n      id: string,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineRegion>\n    > {\n      const localVarAxiosArgs = await RegionServiceApiAxiosParamCreator(\n        configuration\n      ).deleteRegion(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineRegionServicePatchRegionBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async patchRegion(\n      id: string,\n      body: EngineRegionServicePatchRegionBody,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineRegion>\n    > {\n      const localVarAxiosArgs = await RegionServiceApiAxiosParamCreator(\n        configuration\n      ).patchRegion(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readRegion(\n      id: string,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineRegion>\n    > {\n      const localVarAxiosArgs = await RegionServiceApiAxiosParamCreator(\n        configuration\n      ).readRegion(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [id]\n     * @param {string} [name]\n     * @param {string} [description]\n     * @param {Array<number>} [timezoneId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchRegion(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<string>,\n      name?: string,\n      description?: string,\n      timezoneId?: Array<number>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListRegion>\n    > {\n      const localVarAxiosArgs = await RegionServiceApiAxiosParamCreator(\n        configuration\n      ).searchRegion(\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        name,\n        description,\n        timezoneId,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineRegionServiceUpdateRegionBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateRegion(\n      id: string,\n      body: EngineRegionServiceUpdateRegionBody,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineRegion>\n    > {\n      const localVarAxiosArgs = await RegionServiceApiAxiosParamCreator(\n        configuration\n      ).updateRegion(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * RegionServiceApi - factory interface\n * @export\n */\nexport const RegionServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {EngineCreateRegionRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createRegion(\n      body: EngineCreateRegionRequest,\n      options?: any\n    ): AxiosPromise<EngineRegion> {\n      return RegionServiceApiFp(configuration)\n        .createRegion(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteRegion(id: string, options?: any): AxiosPromise<EngineRegion> {\n      return RegionServiceApiFp(configuration)\n        .deleteRegion(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineRegionServicePatchRegionBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchRegion(\n      id: string,\n      body: EngineRegionServicePatchRegionBody,\n      options?: any\n    ): AxiosPromise<EngineRegion> {\n      return RegionServiceApiFp(configuration)\n        .patchRegion(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readRegion(id: string, options?: any): AxiosPromise<EngineRegion> {\n      return RegionServiceApiFp(configuration)\n        .readRegion(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [id]\n     * @param {string} [name]\n     * @param {string} [description]\n     * @param {Array<number>} [timezoneId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchRegion(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<string>,\n      name?: string,\n      description?: string,\n      timezoneId?: Array<number>,\n      options?: any\n    ): AxiosPromise<EngineListRegion> {\n      return RegionServiceApiFp(configuration)\n        .searchRegion(\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          id,\n          name,\n          description,\n          timezoneId,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {EngineRegionServiceUpdateRegionBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateRegion(\n      id: string,\n      body: EngineRegionServiceUpdateRegionBody,\n      options?: any\n    ): AxiosPromise<EngineRegion> {\n      return RegionServiceApiFp(configuration)\n        .updateRegion(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * RegionServiceApi - object-oriented interface\n * @export\n * @class RegionServiceApi\n * @extends {BaseAPI}\n */\nexport class RegionServiceApi extends BaseAPI {\n  /**\n   *\n   * @param {EngineCreateRegionRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RegionServiceApi\n   */\n  public createRegion(body: EngineCreateRegionRequest, options?: any) {\n    return RegionServiceApiFp(this.configuration)\n      .createRegion(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RegionServiceApi\n   */\n  public deleteRegion(id: string, options?: any) {\n    return RegionServiceApiFp(this.configuration)\n      .deleteRegion(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {EngineRegionServicePatchRegionBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RegionServiceApi\n   */\n  public patchRegion(\n    id: string,\n    body: EngineRegionServicePatchRegionBody,\n    options?: any\n  ) {\n    return RegionServiceApiFp(this.configuration)\n      .patchRegion(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RegionServiceApi\n   */\n  public readRegion(id: string, options?: any) {\n    return RegionServiceApiFp(this.configuration)\n      .readRegion(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<string>} [id]\n   * @param {string} [name]\n   * @param {string} [description]\n   * @param {Array<number>} [timezoneId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RegionServiceApi\n   */\n  public searchRegion(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<string>,\n    name?: string,\n    description?: string,\n    timezoneId?: Array<number>,\n    options?: any\n  ) {\n    return RegionServiceApiFp(this.configuration)\n      .searchRegion(\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        name,\n        description,\n        timezoneId,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {EngineRegionServiceUpdateRegionBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RegionServiceApi\n   */\n  public updateRegion(\n    id: string,\n    body: EngineRegionServiceUpdateRegionBody,\n    options?: any\n  ) {\n    return RegionServiceApiFp(this.configuration)\n      .updateRegion(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n// @ts-ignore\nimport { InputDataForTheRelatedCaseUpdate } from '../api'\n// @ts-ignore\nimport { InputDataForTheRelatedCaseUpdate1 } from '../api'\n// @ts-ignore\nimport { WebitelCasesCreateInputRelatedCase } from '../api'\n// @ts-ignore\nimport { WebitelCasesRelatedCase } from '../api'\n// @ts-ignore\nimport { WebitelCasesRelatedCaseList } from '../api'\n/**\n * RelatedCasesApi - axios parameter creator\n * @export\n */\nexport const RelatedCasesApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create a new related case\n     * @param {string} primaryCaseEtag Primary case details.\n     * @param {WebitelCasesCreateInputRelatedCase} input Input data for the related case.\n     * @param {Array<string>} [fields] Fields to include in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createRelatedCase: async (\n      primaryCaseEtag: string,\n      input: WebitelCasesCreateInputRelatedCase,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'primaryCaseEtag' is not null or undefined\n      if (primaryCaseEtag === null || primaryCaseEtag === undefined) {\n        throw new RequiredError(\n          'primaryCaseEtag',\n          'Required parameter primaryCaseEtag was null or undefined when calling createRelatedCase.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling createRelatedCase.'\n        )\n      }\n      const localVarPath = `/cases/{primary_case_etag}/related`.replace(\n        `{${'primary_case_etag'}}`,\n        encodeURIComponent(String(primaryCaseEtag))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Delete a specific related case\n     * @param {string} primaryCaseEtag Etag or ID of the primary case\n     * @param {string} etag Identifier of the related case to delete.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteRelatedCase: async (\n      primaryCaseEtag: string,\n      etag: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'primaryCaseEtag' is not null or undefined\n      if (primaryCaseEtag === null || primaryCaseEtag === undefined) {\n        throw new RequiredError(\n          'primaryCaseEtag',\n          'Required parameter primaryCaseEtag was null or undefined when calling deleteRelatedCase.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling deleteRelatedCase.'\n        )\n      }\n      const localVarPath = `/cases/{primary_case_etag}/related/{etag}`\n        .replace(\n          `{${'primary_case_etag'}}`,\n          encodeURIComponent(String(primaryCaseEtag))\n        )\n        .replace(`{${'etag'}}`, encodeURIComponent(String(etag)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary List all related cases for a specific case\n     * @param {string} primaryCaseEtag Primary Case ID for which related cases are requested.\n     * @param {number} [page] Page number for pagination.\n     * @param {number} [size] Number of related cases per page.\n     * @param {string} [q] Query string for search.\n     * @param {string} [sort] Sorting order.\n     * @param {Array<string>} [fields] Fields to return for each related case.\n     * @param {Array<string>} [ids] Filter by ids\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listRelatedCases: async (\n      primaryCaseEtag: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      ids?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'primaryCaseEtag' is not null or undefined\n      if (primaryCaseEtag === null || primaryCaseEtag === undefined) {\n        throw new RequiredError(\n          'primaryCaseEtag',\n          'Required parameter primaryCaseEtag was null or undefined when calling listRelatedCases.'\n        )\n      }\n      const localVarPath = `/cases/{primary_case_etag}/related`.replace(\n        `{${'primary_case_etag'}}`,\n        encodeURIComponent(String(primaryCaseEtag))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (ids) {\n        localVarQueryParameter['ids'] = ids\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Retrieve a specific related case by ID\n     * @param {string} primaryCaseEtag Primary case identifier.\n     * @param {string} etag Identifier of the related case.\n     * @param {Array<string>} [fields] Fields to return in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateRelatedCase: async (\n      primaryCaseEtag: string,\n      etag: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'primaryCaseEtag' is not null or undefined\n      if (primaryCaseEtag === null || primaryCaseEtag === undefined) {\n        throw new RequiredError(\n          'primaryCaseEtag',\n          'Required parameter primaryCaseEtag was null or undefined when calling locateRelatedCase.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling locateRelatedCase.'\n        )\n      }\n      const localVarPath = `/cases/{primary_case_etag}/related/{etag}`\n        .replace(\n          `{${'primary_case_etag'}}`,\n          encodeURIComponent(String(primaryCaseEtag))\n        )\n        .replace(`{${'etag'}}`, encodeURIComponent(String(etag)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update an existing related case\n     * @param {string} inputPrimaryCaseId\n     * @param {string} etag Identifier of the related case to update.\n     * @param {InputDataForTheRelatedCaseUpdate} input\n     * @param {Array<string>} [fields] Fields to include in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateRelatedCase: async (\n      inputPrimaryCaseId: string,\n      etag: string,\n      input: InputDataForTheRelatedCaseUpdate,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'inputPrimaryCaseId' is not null or undefined\n      if (inputPrimaryCaseId === null || inputPrimaryCaseId === undefined) {\n        throw new RequiredError(\n          'inputPrimaryCaseId',\n          'Required parameter inputPrimaryCaseId was null or undefined when calling updateRelatedCase.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling updateRelatedCase.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateRelatedCase.'\n        )\n      }\n      const localVarPath = `/cases/{input.primary_case.id}/related/{etag}`\n        .replace(\n          `{${'input.primary_case.id'}}`,\n          encodeURIComponent(String(inputPrimaryCaseId))\n        )\n        .replace(`{${'etag'}}`, encodeURIComponent(String(etag)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update an existing related case\n     * @param {string} inputPrimaryCaseId\n     * @param {string} etag Identifier of the related case to update.\n     * @param {InputDataForTheRelatedCaseUpdate1} input\n     * @param {Array<string>} [fields] Fields to include in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateRelatedCase2: async (\n      inputPrimaryCaseId: string,\n      etag: string,\n      input: InputDataForTheRelatedCaseUpdate1,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'inputPrimaryCaseId' is not null or undefined\n      if (inputPrimaryCaseId === null || inputPrimaryCaseId === undefined) {\n        throw new RequiredError(\n          'inputPrimaryCaseId',\n          'Required parameter inputPrimaryCaseId was null or undefined when calling updateRelatedCase2.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling updateRelatedCase2.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateRelatedCase2.'\n        )\n      }\n      const localVarPath = `/cases/{input.primary_case.id}/related/{etag}`\n        .replace(\n          `{${'input.primary_case.id'}}`,\n          encodeURIComponent(String(inputPrimaryCaseId))\n        )\n        .replace(`{${'etag'}}`, encodeURIComponent(String(etag)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * RelatedCasesApi - functional programming interface\n * @export\n */\nexport const RelatedCasesApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Create a new related case\n     * @param {string} primaryCaseEtag Primary case details.\n     * @param {WebitelCasesCreateInputRelatedCase} input Input data for the related case.\n     * @param {Array<string>} [fields] Fields to include in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createRelatedCase(\n      primaryCaseEtag: string,\n      input: WebitelCasesCreateInputRelatedCase,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesRelatedCase>\n    > {\n      const localVarAxiosArgs = await RelatedCasesApiAxiosParamCreator(\n        configuration\n      ).createRelatedCase(primaryCaseEtag, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Delete a specific related case\n     * @param {string} primaryCaseEtag Etag or ID of the primary case\n     * @param {string} etag Identifier of the related case to delete.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteRelatedCase(\n      primaryCaseEtag: string,\n      etag: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesRelatedCase>\n    > {\n      const localVarAxiosArgs = await RelatedCasesApiAxiosParamCreator(\n        configuration\n      ).deleteRelatedCase(primaryCaseEtag, etag, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary List all related cases for a specific case\n     * @param {string} primaryCaseEtag Primary Case ID for which related cases are requested.\n     * @param {number} [page] Page number for pagination.\n     * @param {number} [size] Number of related cases per page.\n     * @param {string} [q] Query string for search.\n     * @param {string} [sort] Sorting order.\n     * @param {Array<string>} [fields] Fields to return for each related case.\n     * @param {Array<string>} [ids] Filter by ids\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async listRelatedCases(\n      primaryCaseEtag: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      ids?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesRelatedCaseList>\n    > {\n      const localVarAxiosArgs = await RelatedCasesApiAxiosParamCreator(\n        configuration\n      ).listRelatedCases(\n        primaryCaseEtag,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        ids,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Retrieve a specific related case by ID\n     * @param {string} primaryCaseEtag Primary case identifier.\n     * @param {string} etag Identifier of the related case.\n     * @param {Array<string>} [fields] Fields to return in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async locateRelatedCase(\n      primaryCaseEtag: string,\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesRelatedCase>\n    > {\n      const localVarAxiosArgs = await RelatedCasesApiAxiosParamCreator(\n        configuration\n      ).locateRelatedCase(primaryCaseEtag, etag, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update an existing related case\n     * @param {string} inputPrimaryCaseId\n     * @param {string} etag Identifier of the related case to update.\n     * @param {InputDataForTheRelatedCaseUpdate} input\n     * @param {Array<string>} [fields] Fields to include in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateRelatedCase(\n      inputPrimaryCaseId: string,\n      etag: string,\n      input: InputDataForTheRelatedCaseUpdate,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesRelatedCase>\n    > {\n      const localVarAxiosArgs = await RelatedCasesApiAxiosParamCreator(\n        configuration\n      ).updateRelatedCase(inputPrimaryCaseId, etag, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update an existing related case\n     * @param {string} inputPrimaryCaseId\n     * @param {string} etag Identifier of the related case to update.\n     * @param {InputDataForTheRelatedCaseUpdate1} input\n     * @param {Array<string>} [fields] Fields to include in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateRelatedCase2(\n      inputPrimaryCaseId: string,\n      etag: string,\n      input: InputDataForTheRelatedCaseUpdate1,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesRelatedCase>\n    > {\n      const localVarAxiosArgs = await RelatedCasesApiAxiosParamCreator(\n        configuration\n      ).updateRelatedCase2(inputPrimaryCaseId, etag, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * RelatedCasesApi - factory interface\n * @export\n */\nexport const RelatedCasesApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Create a new related case\n     * @param {string} primaryCaseEtag Primary case details.\n     * @param {WebitelCasesCreateInputRelatedCase} input Input data for the related case.\n     * @param {Array<string>} [fields] Fields to include in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createRelatedCase(\n      primaryCaseEtag: string,\n      input: WebitelCasesCreateInputRelatedCase,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesRelatedCase> {\n      return RelatedCasesApiFp(configuration)\n        .createRelatedCase(primaryCaseEtag, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Delete a specific related case\n     * @param {string} primaryCaseEtag Etag or ID of the primary case\n     * @param {string} etag Identifier of the related case to delete.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteRelatedCase(\n      primaryCaseEtag: string,\n      etag: string,\n      options?: any\n    ): AxiosPromise<WebitelCasesRelatedCase> {\n      return RelatedCasesApiFp(configuration)\n        .deleteRelatedCase(primaryCaseEtag, etag, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary List all related cases for a specific case\n     * @param {string} primaryCaseEtag Primary Case ID for which related cases are requested.\n     * @param {number} [page] Page number for pagination.\n     * @param {number} [size] Number of related cases per page.\n     * @param {string} [q] Query string for search.\n     * @param {string} [sort] Sorting order.\n     * @param {Array<string>} [fields] Fields to return for each related case.\n     * @param {Array<string>} [ids] Filter by ids\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listRelatedCases(\n      primaryCaseEtag: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      ids?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesRelatedCaseList> {\n      return RelatedCasesApiFp(configuration)\n        .listRelatedCases(\n          primaryCaseEtag,\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          ids,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Retrieve a specific related case by ID\n     * @param {string} primaryCaseEtag Primary case identifier.\n     * @param {string} etag Identifier of the related case.\n     * @param {Array<string>} [fields] Fields to return in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateRelatedCase(\n      primaryCaseEtag: string,\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesRelatedCase> {\n      return RelatedCasesApiFp(configuration)\n        .locateRelatedCase(primaryCaseEtag, etag, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update an existing related case\n     * @param {string} inputPrimaryCaseId\n     * @param {string} etag Identifier of the related case to update.\n     * @param {InputDataForTheRelatedCaseUpdate} input\n     * @param {Array<string>} [fields] Fields to include in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateRelatedCase(\n      inputPrimaryCaseId: string,\n      etag: string,\n      input: InputDataForTheRelatedCaseUpdate,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesRelatedCase> {\n      return RelatedCasesApiFp(configuration)\n        .updateRelatedCase(inputPrimaryCaseId, etag, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update an existing related case\n     * @param {string} inputPrimaryCaseId\n     * @param {string} etag Identifier of the related case to update.\n     * @param {InputDataForTheRelatedCaseUpdate1} input\n     * @param {Array<string>} [fields] Fields to include in the response.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateRelatedCase2(\n      inputPrimaryCaseId: string,\n      etag: string,\n      input: InputDataForTheRelatedCaseUpdate1,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesRelatedCase> {\n      return RelatedCasesApiFp(configuration)\n        .updateRelatedCase2(inputPrimaryCaseId, etag, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * RelatedCasesApi - object-oriented interface\n * @export\n * @class RelatedCasesApi\n * @extends {BaseAPI}\n */\nexport class RelatedCasesApi extends BaseAPI {\n  /**\n   *\n   * @summary Create a new related case\n   * @param {string} primaryCaseEtag Primary case details.\n   * @param {WebitelCasesCreateInputRelatedCase} input Input data for the related case.\n   * @param {Array<string>} [fields] Fields to include in the response.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RelatedCasesApi\n   */\n  public createRelatedCase(\n    primaryCaseEtag: string,\n    input: WebitelCasesCreateInputRelatedCase,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return RelatedCasesApiFp(this.configuration)\n      .createRelatedCase(primaryCaseEtag, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Delete a specific related case\n   * @param {string} primaryCaseEtag Etag or ID of the primary case\n   * @param {string} etag Identifier of the related case to delete.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RelatedCasesApi\n   */\n  public deleteRelatedCase(\n    primaryCaseEtag: string,\n    etag: string,\n    options?: any\n  ) {\n    return RelatedCasesApiFp(this.configuration)\n      .deleteRelatedCase(primaryCaseEtag, etag, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary List all related cases for a specific case\n   * @param {string} primaryCaseEtag Primary Case ID for which related cases are requested.\n   * @param {number} [page] Page number for pagination.\n   * @param {number} [size] Number of related cases per page.\n   * @param {string} [q] Query string for search.\n   * @param {string} [sort] Sorting order.\n   * @param {Array<string>} [fields] Fields to return for each related case.\n   * @param {Array<string>} [ids] Filter by ids\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RelatedCasesApi\n   */\n  public listRelatedCases(\n    primaryCaseEtag: string,\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    ids?: Array<string>,\n    options?: any\n  ) {\n    return RelatedCasesApiFp(this.configuration)\n      .listRelatedCases(\n        primaryCaseEtag,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        ids,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Retrieve a specific related case by ID\n   * @param {string} primaryCaseEtag Primary case identifier.\n   * @param {string} etag Identifier of the related case.\n   * @param {Array<string>} [fields] Fields to return in the response.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RelatedCasesApi\n   */\n  public locateRelatedCase(\n    primaryCaseEtag: string,\n    etag: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return RelatedCasesApiFp(this.configuration)\n      .locateRelatedCase(primaryCaseEtag, etag, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update an existing related case\n   * @param {string} inputPrimaryCaseId\n   * @param {string} etag Identifier of the related case to update.\n   * @param {InputDataForTheRelatedCaseUpdate} input\n   * @param {Array<string>} [fields] Fields to include in the response.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RelatedCasesApi\n   */\n  public updateRelatedCase(\n    inputPrimaryCaseId: string,\n    etag: string,\n    input: InputDataForTheRelatedCaseUpdate,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return RelatedCasesApiFp(this.configuration)\n      .updateRelatedCase(inputPrimaryCaseId, etag, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update an existing related case\n   * @param {string} inputPrimaryCaseId\n   * @param {string} etag Identifier of the related case to update.\n   * @param {InputDataForTheRelatedCaseUpdate1} input\n   * @param {Array<string>} [fields] Fields to include in the response.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RelatedCasesApi\n   */\n  public updateRelatedCase2(\n    inputPrimaryCaseId: string,\n    etag: string,\n    input: InputDataForTheRelatedCaseUpdate1,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return RelatedCasesApiFp(this.configuration)\n      .updateRelatedCase2(inputPrimaryCaseId, etag, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { ApiCreateRoleRequest } from '../api'\n// @ts-ignore\nimport { ApiCreateRoleResponse } from '../api'\n// @ts-ignore\nimport { ApiDeleteRoleResponse } from '../api'\n// @ts-ignore\nimport { ApiReadRoleResponse } from '../api'\n// @ts-ignore\nimport { ApiRoleMetadataResponse } from '../api'\n// @ts-ignore\nimport { ApiRolesUpdateRoleBody } from '../api'\n// @ts-ignore\nimport { ApiSearchRolesResponse } from '../api'\n// @ts-ignore\nimport { ApiUpdateRoleResponse } from '../api'\n/**\n * RolesApi - axios parameter creator\n * @export\n */\nexport const RolesApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {ApiCreateRoleRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createRole: async (\n      body: ApiCreateRoleRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createRole.'\n        )\n      }\n      const localVarPath = `/roles`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id DELETE /roles/{id}\n     * @param {Array<string>} [ids] POST /roles/delete {\\&quot;ids\\&quot;}\n     * @param {boolean} [permanent] deleteOrMark \\&#39;deleted\\&#39; ?\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteRole: async (\n      id: string,\n      ids?: Array<string>,\n      permanent?: boolean,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteRole.'\n        )\n      }\n      const localVarPath = `/roles/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (ids) {\n        localVarQueryParameter['ids'] = ids\n      }\n\n      if (permanent !== undefined) {\n        localVarQueryParameter['permanent'] = permanent\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id role.id\n     * @param {Array<string>} [fields] select projection  select: output (fields,...)\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readRole: async (\n      id: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readRole.'\n        )\n      }\n      const localVarPath = `/roles/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} [id] Optional. Unique ID of metadata role owner\n     * @param {string} [key] Optional. Partial metadata document key name\n     * @param {'NULL_VALUE'} [mergeNullValue] Represents a null value.   - NULL_VALUE: Null value.\n     * @param {number} [mergeNumberValue] Represents a double value.\n     * @param {string} [mergeStringValue] Represents a string value.\n     * @param {boolean} [mergeBoolValue] Represents a boolean value.\n     * @param {object} [mergeStructValue] Represents a structured value.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    roleMetadata: async (\n      id?: string,\n      key?: string,\n      mergeNullValue?: 'NULL_VALUE',\n      mergeNumberValue?: number,\n      mergeStringValue?: string,\n      mergeBoolValue?: boolean,\n      mergeStructValue?: object,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/roles/metadata`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (id !== undefined) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (key !== undefined) {\n        localVarQueryParameter['key'] = key\n      }\n\n      if (mergeNullValue !== undefined) {\n        localVarQueryParameter['merge.null_value'] = mergeNullValue\n      }\n\n      if (mergeNumberValue !== undefined) {\n        localVarQueryParameter['merge.number_value'] = mergeNumberValue\n      }\n\n      if (mergeStringValue !== undefined) {\n        localVarQueryParameter['merge.string_value'] = mergeStringValue\n      }\n\n      if (mergeBoolValue !== undefined) {\n        localVarQueryParameter['merge.bool_value'] = mergeBoolValue\n      }\n\n      if (mergeStructValue !== undefined) {\n        localVarQueryParameter['merge.struct_value'] = mergeStructValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {'contacts' | 'cc_list' | 'cc_bucket' | 'calendars' | 'devices' | 'cc_agent' | 'cc_team' | 'cc_resource' | 'cc_resource_group' | 'cc_queue' | 'roles' | 'users' | 'cognitive_profile'} object bool admin &#x3D; 4;  // filter: where CURRENT user is \\&#39;ADMIN\\&#39; of REQUIRED !\n     * @param {string} recordId identifier\n     * @param {Array<string>} [ids] ----- Role-specific Filters ----------------- //  filter: .id &#x3D; any(:ids...)\n     * @param {string} [name] filter: group name like\n     * @param {string} [userId] Object ID\n     * @param {string} [userName] Display Name\n     * @param {string} [q] filter: term of search (name, description)\n     * @param {string} [recordName] display name\n     * @param {Array<string>} [fields] controls  output\n     * @param {Array<string>} [sort] sort: \\&quot;field\\&quot; asc; \\&quot;!field\\&quot; desc\n     * @param {number} [page] page number\n     * @param {number} [size] page size\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchRecordAvailableRoles: async (\n      object:\n        | 'contacts'\n        | 'cc_list'\n        | 'cc_bucket'\n        | 'calendars'\n        | 'devices'\n        | 'cc_agent'\n        | 'cc_team'\n        | 'cc_resource'\n        | 'cc_resource_group'\n        | 'cc_queue'\n        | 'roles'\n        | 'users'\n        | 'cognitive_profile',\n      recordId: string,\n      ids?: Array<string>,\n      name?: string,\n      userId?: string,\n      userName?: string,\n      q?: string,\n      recordName?: string,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      page?: number,\n      size?: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'object' is not null or undefined\n      if (object === null || object === undefined) {\n        throw new RequiredError(\n          'object',\n          'Required parameter object was null or undefined when calling searchRecordAvailableRoles.'\n        )\n      }\n      // verify required parameter 'recordId' is not null or undefined\n      if (recordId === null || recordId === undefined) {\n        throw new RequiredError(\n          'recordId',\n          'Required parameter recordId was null or undefined when calling searchRecordAvailableRoles.'\n        )\n      }\n      const localVarPath = `/roles/objects/{object}/records/{record.id}`\n        .replace(`{${'object'}}`, encodeURIComponent(String(object)))\n        .replace(`{${'record.id'}}`, encodeURIComponent(String(recordId)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (ids) {\n        localVarQueryParameter['ids'] = ids\n      }\n\n      if (name !== undefined) {\n        localVarQueryParameter['name'] = name\n      }\n\n      if (userId !== undefined) {\n        localVarQueryParameter['user.id'] = userId\n      }\n\n      if (userName !== undefined) {\n        localVarQueryParameter['user.name'] = userName\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (recordName !== undefined) {\n        localVarQueryParameter['record.name'] = recordName\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {Array<string>} [ids] ----- Role-specific Filters ----------------- //  filter: .id &#x3D; any(:ids...)\n     * @param {string} [name] filter: group name like\n     * @param {string} [userId] Object ID\n     * @param {string} [userName] Display Name\n     * @param {string} [q] filter: term of search (name, description)\n     * @param {Array<string>} [fields] bool admin &#x3D; 4;  // filter: where CURRENT user is \\&#39;ADMIN\\&#39; of controls  output\n     * @param {Array<string>} [sort] sort: \\&quot;field\\&quot; asc; \\&quot;!field\\&quot; desc\n     * @param {number} [page] page number\n     * @param {number} [size] page size\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchRoles: async (\n      ids?: Array<string>,\n      name?: string,\n      userId?: string,\n      userName?: string,\n      q?: string,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      page?: number,\n      size?: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/roles`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (ids) {\n        localVarQueryParameter['ids'] = ids\n      }\n\n      if (name !== undefined) {\n        localVarQueryParameter['name'] = name\n      }\n\n      if (userId !== undefined) {\n        localVarQueryParameter['user.id'] = userId\n      }\n\n      if (userName !== undefined) {\n        localVarQueryParameter['user.name'] = userName\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} roleId oid\n     * @param {ApiRolesUpdateRoleBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateRole: async (\n      roleId: string,\n      body: ApiRolesUpdateRoleBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'roleId' is not null or undefined\n      if (roleId === null || roleId === undefined) {\n        throw new RequiredError(\n          'roleId',\n          'Required parameter roleId was null or undefined when calling updateRole.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateRole.'\n        )\n      }\n      const localVarPath = `/roles/{role.id}`.replace(\n        `{${'role.id'}}`,\n        encodeURIComponent(String(roleId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} roleId oid\n     * @param {ApiRolesUpdateRoleBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateRole2: async (\n      roleId: string,\n      body: ApiRolesUpdateRoleBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'roleId' is not null or undefined\n      if (roleId === null || roleId === undefined) {\n        throw new RequiredError(\n          'roleId',\n          'Required parameter roleId was null or undefined when calling updateRole2.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateRole2.'\n        )\n      }\n      const localVarPath = `/roles/{role.id}`.replace(\n        `{${'role.id'}}`,\n        encodeURIComponent(String(roleId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * RolesApi - functional programming interface\n * @export\n */\nexport const RolesApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @param {ApiCreateRoleRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createRole(\n      body: ApiCreateRoleRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiCreateRoleResponse>\n    > {\n      const localVarAxiosArgs = await RolesApiAxiosParamCreator(\n        configuration\n      ).createRole(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id DELETE /roles/{id}\n     * @param {Array<string>} [ids] POST /roles/delete {\\&quot;ids\\&quot;}\n     * @param {boolean} [permanent] deleteOrMark \\&#39;deleted\\&#39; ?\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteRole(\n      id: string,\n      ids?: Array<string>,\n      permanent?: boolean,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiDeleteRoleResponse>\n    > {\n      const localVarAxiosArgs = await RolesApiAxiosParamCreator(\n        configuration\n      ).deleteRole(id, ids, permanent, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id role.id\n     * @param {Array<string>} [fields] select projection  select: output (fields,...)\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readRole(\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiReadRoleResponse>\n    > {\n      const localVarAxiosArgs = await RolesApiAxiosParamCreator(\n        configuration\n      ).readRole(id, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} [id] Optional. Unique ID of metadata role owner\n     * @param {string} [key] Optional. Partial metadata document key name\n     * @param {'NULL_VALUE'} [mergeNullValue] Represents a null value.   - NULL_VALUE: Null value.\n     * @param {number} [mergeNumberValue] Represents a double value.\n     * @param {string} [mergeStringValue] Represents a string value.\n     * @param {boolean} [mergeBoolValue] Represents a boolean value.\n     * @param {object} [mergeStructValue] Represents a structured value.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async roleMetadata(\n      id?: string,\n      key?: string,\n      mergeNullValue?: 'NULL_VALUE',\n      mergeNumberValue?: number,\n      mergeStringValue?: string,\n      mergeBoolValue?: boolean,\n      mergeStructValue?: object,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiRoleMetadataResponse>\n    > {\n      const localVarAxiosArgs = await RolesApiAxiosParamCreator(\n        configuration\n      ).roleMetadata(\n        id,\n        key,\n        mergeNullValue,\n        mergeNumberValue,\n        mergeStringValue,\n        mergeBoolValue,\n        mergeStructValue,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {'contacts' | 'cc_list' | 'cc_bucket' | 'calendars' | 'devices' | 'cc_agent' | 'cc_team' | 'cc_resource' | 'cc_resource_group' | 'cc_queue' | 'roles' | 'users' | 'cognitive_profile'} object bool admin &#x3D; 4;  // filter: where CURRENT user is \\&#39;ADMIN\\&#39; of REQUIRED !\n     * @param {string} recordId identifier\n     * @param {Array<string>} [ids] ----- Role-specific Filters ----------------- //  filter: .id &#x3D; any(:ids...)\n     * @param {string} [name] filter: group name like\n     * @param {string} [userId] Object ID\n     * @param {string} [userName] Display Name\n     * @param {string} [q] filter: term of search (name, description)\n     * @param {string} [recordName] display name\n     * @param {Array<string>} [fields] controls  output\n     * @param {Array<string>} [sort] sort: \\&quot;field\\&quot; asc; \\&quot;!field\\&quot; desc\n     * @param {number} [page] page number\n     * @param {number} [size] page size\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchRecordAvailableRoles(\n      object:\n        | 'contacts'\n        | 'cc_list'\n        | 'cc_bucket'\n        | 'calendars'\n        | 'devices'\n        | 'cc_agent'\n        | 'cc_team'\n        | 'cc_resource'\n        | 'cc_resource_group'\n        | 'cc_queue'\n        | 'roles'\n        | 'users'\n        | 'cognitive_profile',\n      recordId: string,\n      ids?: Array<string>,\n      name?: string,\n      userId?: string,\n      userName?: string,\n      q?: string,\n      recordName?: string,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      page?: number,\n      size?: number,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiSearchRolesResponse>\n    > {\n      const localVarAxiosArgs = await RolesApiAxiosParamCreator(\n        configuration\n      ).searchRecordAvailableRoles(\n        object,\n        recordId,\n        ids,\n        name,\n        userId,\n        userName,\n        q,\n        recordName,\n        fields,\n        sort,\n        page,\n        size,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {Array<string>} [ids] ----- Role-specific Filters ----------------- //  filter: .id &#x3D; any(:ids...)\n     * @param {string} [name] filter: group name like\n     * @param {string} [userId] Object ID\n     * @param {string} [userName] Display Name\n     * @param {string} [q] filter: term of search (name, description)\n     * @param {Array<string>} [fields] bool admin &#x3D; 4;  // filter: where CURRENT user is \\&#39;ADMIN\\&#39; of controls  output\n     * @param {Array<string>} [sort] sort: \\&quot;field\\&quot; asc; \\&quot;!field\\&quot; desc\n     * @param {number} [page] page number\n     * @param {number} [size] page size\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchRoles(\n      ids?: Array<string>,\n      name?: string,\n      userId?: string,\n      userName?: string,\n      q?: string,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      page?: number,\n      size?: number,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiSearchRolesResponse>\n    > {\n      const localVarAxiosArgs = await RolesApiAxiosParamCreator(\n        configuration\n      ).searchRoles(\n        ids,\n        name,\n        userId,\n        userName,\n        q,\n        fields,\n        sort,\n        page,\n        size,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} roleId oid\n     * @param {ApiRolesUpdateRoleBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateRole(\n      roleId: string,\n      body: ApiRolesUpdateRoleBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiUpdateRoleResponse>\n    > {\n      const localVarAxiosArgs = await RolesApiAxiosParamCreator(\n        configuration\n      ).updateRole(roleId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} roleId oid\n     * @param {ApiRolesUpdateRoleBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateRole2(\n      roleId: string,\n      body: ApiRolesUpdateRoleBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiUpdateRoleResponse>\n    > {\n      const localVarAxiosArgs = await RolesApiAxiosParamCreator(\n        configuration\n      ).updateRole2(roleId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * RolesApi - factory interface\n * @export\n */\nexport const RolesApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {ApiCreateRoleRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createRole(\n      body: ApiCreateRoleRequest,\n      options?: any\n    ): AxiosPromise<ApiCreateRoleResponse> {\n      return RolesApiFp(configuration)\n        .createRole(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id DELETE /roles/{id}\n     * @param {Array<string>} [ids] POST /roles/delete {\\&quot;ids\\&quot;}\n     * @param {boolean} [permanent] deleteOrMark \\&#39;deleted\\&#39; ?\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteRole(\n      id: string,\n      ids?: Array<string>,\n      permanent?: boolean,\n      options?: any\n    ): AxiosPromise<ApiDeleteRoleResponse> {\n      return RolesApiFp(configuration)\n        .deleteRole(id, ids, permanent, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id role.id\n     * @param {Array<string>} [fields] select projection  select: output (fields,...)\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readRole(\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<ApiReadRoleResponse> {\n      return RolesApiFp(configuration)\n        .readRole(id, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} [id] Optional. Unique ID of metadata role owner\n     * @param {string} [key] Optional. Partial metadata document key name\n     * @param {'NULL_VALUE'} [mergeNullValue] Represents a null value.   - NULL_VALUE: Null value.\n     * @param {number} [mergeNumberValue] Represents a double value.\n     * @param {string} [mergeStringValue] Represents a string value.\n     * @param {boolean} [mergeBoolValue] Represents a boolean value.\n     * @param {object} [mergeStructValue] Represents a structured value.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    roleMetadata(\n      id?: string,\n      key?: string,\n      mergeNullValue?: 'NULL_VALUE',\n      mergeNumberValue?: number,\n      mergeStringValue?: string,\n      mergeBoolValue?: boolean,\n      mergeStructValue?: object,\n      options?: any\n    ): AxiosPromise<ApiRoleMetadataResponse> {\n      return RolesApiFp(configuration)\n        .roleMetadata(\n          id,\n          key,\n          mergeNullValue,\n          mergeNumberValue,\n          mergeStringValue,\n          mergeBoolValue,\n          mergeStructValue,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {'contacts' | 'cc_list' | 'cc_bucket' | 'calendars' | 'devices' | 'cc_agent' | 'cc_team' | 'cc_resource' | 'cc_resource_group' | 'cc_queue' | 'roles' | 'users' | 'cognitive_profile'} object bool admin &#x3D; 4;  // filter: where CURRENT user is \\&#39;ADMIN\\&#39; of REQUIRED !\n     * @param {string} recordId identifier\n     * @param {Array<string>} [ids] ----- Role-specific Filters ----------------- //  filter: .id &#x3D; any(:ids...)\n     * @param {string} [name] filter: group name like\n     * @param {string} [userId] Object ID\n     * @param {string} [userName] Display Name\n     * @param {string} [q] filter: term of search (name, description)\n     * @param {string} [recordName] display name\n     * @param {Array<string>} [fields] controls  output\n     * @param {Array<string>} [sort] sort: \\&quot;field\\&quot; asc; \\&quot;!field\\&quot; desc\n     * @param {number} [page] page number\n     * @param {number} [size] page size\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchRecordAvailableRoles(\n      object:\n        | 'contacts'\n        | 'cc_list'\n        | 'cc_bucket'\n        | 'calendars'\n        | 'devices'\n        | 'cc_agent'\n        | 'cc_team'\n        | 'cc_resource'\n        | 'cc_resource_group'\n        | 'cc_queue'\n        | 'roles'\n        | 'users'\n        | 'cognitive_profile',\n      recordId: string,\n      ids?: Array<string>,\n      name?: string,\n      userId?: string,\n      userName?: string,\n      q?: string,\n      recordName?: string,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      page?: number,\n      size?: number,\n      options?: any\n    ): AxiosPromise<ApiSearchRolesResponse> {\n      return RolesApiFp(configuration)\n        .searchRecordAvailableRoles(\n          object,\n          recordId,\n          ids,\n          name,\n          userId,\n          userName,\n          q,\n          recordName,\n          fields,\n          sort,\n          page,\n          size,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {Array<string>} [ids] ----- Role-specific Filters ----------------- //  filter: .id &#x3D; any(:ids...)\n     * @param {string} [name] filter: group name like\n     * @param {string} [userId] Object ID\n     * @param {string} [userName] Display Name\n     * @param {string} [q] filter: term of search (name, description)\n     * @param {Array<string>} [fields] bool admin &#x3D; 4;  // filter: where CURRENT user is \\&#39;ADMIN\\&#39; of controls  output\n     * @param {Array<string>} [sort] sort: \\&quot;field\\&quot; asc; \\&quot;!field\\&quot; desc\n     * @param {number} [page] page number\n     * @param {number} [size] page size\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchRoles(\n      ids?: Array<string>,\n      name?: string,\n      userId?: string,\n      userName?: string,\n      q?: string,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      page?: number,\n      size?: number,\n      options?: any\n    ): AxiosPromise<ApiSearchRolesResponse> {\n      return RolesApiFp(configuration)\n        .searchRoles(\n          ids,\n          name,\n          userId,\n          userName,\n          q,\n          fields,\n          sort,\n          page,\n          size,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} roleId oid\n     * @param {ApiRolesUpdateRoleBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateRole(\n      roleId: string,\n      body: ApiRolesUpdateRoleBody,\n      options?: any\n    ): AxiosPromise<ApiUpdateRoleResponse> {\n      return RolesApiFp(configuration)\n        .updateRole(roleId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} roleId oid\n     * @param {ApiRolesUpdateRoleBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateRole2(\n      roleId: string,\n      body: ApiRolesUpdateRoleBody,\n      options?: any\n    ): AxiosPromise<ApiUpdateRoleResponse> {\n      return RolesApiFp(configuration)\n        .updateRole2(roleId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * RolesApi - object-oriented interface\n * @export\n * @class RolesApi\n * @extends {BaseAPI}\n */\nexport class RolesApi extends BaseAPI {\n  /**\n   *\n   * @param {ApiCreateRoleRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RolesApi\n   */\n  public createRole(body: ApiCreateRoleRequest, options?: any) {\n    return RolesApiFp(this.configuration)\n      .createRole(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id DELETE /roles/{id}\n   * @param {Array<string>} [ids] POST /roles/delete {\\&quot;ids\\&quot;}\n   * @param {boolean} [permanent] deleteOrMark \\&#39;deleted\\&#39; ?\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RolesApi\n   */\n  public deleteRole(\n    id: string,\n    ids?: Array<string>,\n    permanent?: boolean,\n    options?: any\n  ) {\n    return RolesApiFp(this.configuration)\n      .deleteRole(id, ids, permanent, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id role.id\n   * @param {Array<string>} [fields] select projection  select: output (fields,...)\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RolesApi\n   */\n  public readRole(id: string, fields?: Array<string>, options?: any) {\n    return RolesApiFp(this.configuration)\n      .readRole(id, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} [id] Optional. Unique ID of metadata role owner\n   * @param {string} [key] Optional. Partial metadata document key name\n   * @param {'NULL_VALUE'} [mergeNullValue] Represents a null value.   - NULL_VALUE: Null value.\n   * @param {number} [mergeNumberValue] Represents a double value.\n   * @param {string} [mergeStringValue] Represents a string value.\n   * @param {boolean} [mergeBoolValue] Represents a boolean value.\n   * @param {object} [mergeStructValue] Represents a structured value.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RolesApi\n   */\n  public roleMetadata(\n    id?: string,\n    key?: string,\n    mergeNullValue?: 'NULL_VALUE',\n    mergeNumberValue?: number,\n    mergeStringValue?: string,\n    mergeBoolValue?: boolean,\n    mergeStructValue?: object,\n    options?: any\n  ) {\n    return RolesApiFp(this.configuration)\n      .roleMetadata(\n        id,\n        key,\n        mergeNullValue,\n        mergeNumberValue,\n        mergeStringValue,\n        mergeBoolValue,\n        mergeStructValue,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {'contacts' | 'cc_list' | 'cc_bucket' | 'calendars' | 'devices' | 'cc_agent' | 'cc_team' | 'cc_resource' | 'cc_resource_group' | 'cc_queue' | 'roles' | 'users' | 'cognitive_profile'} object bool admin &#x3D; 4;  // filter: where CURRENT user is \\&#39;ADMIN\\&#39; of REQUIRED !\n   * @param {string} recordId identifier\n   * @param {Array<string>} [ids] ----- Role-specific Filters ----------------- //  filter: .id &#x3D; any(:ids...)\n   * @param {string} [name] filter: group name like\n   * @param {string} [userId] Object ID\n   * @param {string} [userName] Display Name\n   * @param {string} [q] filter: term of search (name, description)\n   * @param {string} [recordName] display name\n   * @param {Array<string>} [fields] controls  output\n   * @param {Array<string>} [sort] sort: \\&quot;field\\&quot; asc; \\&quot;!field\\&quot; desc\n   * @param {number} [page] page number\n   * @param {number} [size] page size\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RolesApi\n   */\n  public searchRecordAvailableRoles(\n    object:\n      | 'contacts'\n      | 'cc_list'\n      | 'cc_bucket'\n      | 'calendars'\n      | 'devices'\n      | 'cc_agent'\n      | 'cc_team'\n      | 'cc_resource'\n      | 'cc_resource_group'\n      | 'cc_queue'\n      | 'roles'\n      | 'users'\n      | 'cognitive_profile',\n    recordId: string,\n    ids?: Array<string>,\n    name?: string,\n    userId?: string,\n    userName?: string,\n    q?: string,\n    recordName?: string,\n    fields?: Array<string>,\n    sort?: Array<string>,\n    page?: number,\n    size?: number,\n    options?: any\n  ) {\n    return RolesApiFp(this.configuration)\n      .searchRecordAvailableRoles(\n        object,\n        recordId,\n        ids,\n        name,\n        userId,\n        userName,\n        q,\n        recordName,\n        fields,\n        sort,\n        page,\n        size,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {Array<string>} [ids] ----- Role-specific Filters ----------------- //  filter: .id &#x3D; any(:ids...)\n   * @param {string} [name] filter: group name like\n   * @param {string} [userId] Object ID\n   * @param {string} [userName] Display Name\n   * @param {string} [q] filter: term of search (name, description)\n   * @param {Array<string>} [fields] bool admin &#x3D; 4;  // filter: where CURRENT user is \\&#39;ADMIN\\&#39; of controls  output\n   * @param {Array<string>} [sort] sort: \\&quot;field\\&quot; asc; \\&quot;!field\\&quot; desc\n   * @param {number} [page] page number\n   * @param {number} [size] page size\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RolesApi\n   */\n  public searchRoles(\n    ids?: Array<string>,\n    name?: string,\n    userId?: string,\n    userName?: string,\n    q?: string,\n    fields?: Array<string>,\n    sort?: Array<string>,\n    page?: number,\n    size?: number,\n    options?: any\n  ) {\n    return RolesApiFp(this.configuration)\n      .searchRoles(\n        ids,\n        name,\n        userId,\n        userName,\n        q,\n        fields,\n        sort,\n        page,\n        size,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} roleId oid\n   * @param {ApiRolesUpdateRoleBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RolesApi\n   */\n  public updateRole(\n    roleId: string,\n    body: ApiRolesUpdateRoleBody,\n    options?: any\n  ) {\n    return RolesApiFp(this.configuration)\n      .updateRole(roleId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} roleId oid\n   * @param {ApiRolesUpdateRoleBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RolesApi\n   */\n  public updateRole2(\n    roleId: string,\n    body: ApiRolesUpdateRoleBody,\n    options?: any\n  ) {\n    return RolesApiFp(this.configuration)\n      .updateRole2(roleId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { EngineChatPlan } from '../api'\n// @ts-ignore\nimport { EngineCreateChatPlanRequest } from '../api'\n// @ts-ignore\nimport { EngineListChatPlan } from '../api'\n// @ts-ignore\nimport { EngineRoutingChatPlanServicePatchChatPlanBody } from '../api'\n// @ts-ignore\nimport { EngineRoutingChatPlanServiceUpdateChatPlanBody } from '../api'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n/**\n * RoutingChatPlanServiceApi - axios parameter creator\n * @export\n */\nexport const RoutingChatPlanServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {EngineCreateChatPlanRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createChatPlan: async (\n      body: EngineCreateChatPlanRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createChatPlan.'\n        )\n      }\n      const localVarPath = `/routing/outbound/chat`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteChatPlan: async (\n      id: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteChatPlan.'\n        )\n      }\n      const localVarPath = `/routing/outbound/chat/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineRoutingChatPlanServicePatchChatPlanBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchChatPlan: async (\n      id: number,\n      body: EngineRoutingChatPlanServicePatchChatPlanBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling patchChatPlan.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling patchChatPlan.'\n        )\n      }\n      const localVarPath = `/routing/outbound/chat/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readChatPlan: async (\n      id: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readChatPlan.'\n        )\n      }\n      const localVarPath = `/routing/outbound/chat/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {string} [name]\n     * @param {boolean} [enabled]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchChatPlan: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      name?: string,\n      enabled?: boolean,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/routing/outbound/chat`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (name !== undefined) {\n        localVarQueryParameter['name'] = name\n      }\n\n      if (enabled !== undefined) {\n        localVarQueryParameter['enabled'] = enabled\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineRoutingChatPlanServiceUpdateChatPlanBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateChatPlan: async (\n      id: number,\n      body: EngineRoutingChatPlanServiceUpdateChatPlanBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateChatPlan.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateChatPlan.'\n        )\n      }\n      const localVarPath = `/routing/outbound/chat/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * RoutingChatPlanServiceApi - functional programming interface\n * @export\n */\nexport const RoutingChatPlanServiceApiFp = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {EngineCreateChatPlanRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createChatPlan(\n      body: EngineCreateChatPlanRequest,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineChatPlan>\n    > {\n      const localVarAxiosArgs = await RoutingChatPlanServiceApiAxiosParamCreator(\n        configuration\n      ).createChatPlan(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteChatPlan(\n      id: number,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineChatPlan>\n    > {\n      const localVarAxiosArgs = await RoutingChatPlanServiceApiAxiosParamCreator(\n        configuration\n      ).deleteChatPlan(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineRoutingChatPlanServicePatchChatPlanBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async patchChatPlan(\n      id: number,\n      body: EngineRoutingChatPlanServicePatchChatPlanBody,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineChatPlan>\n    > {\n      const localVarAxiosArgs = await RoutingChatPlanServiceApiAxiosParamCreator(\n        configuration\n      ).patchChatPlan(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readChatPlan(\n      id: number,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineChatPlan>\n    > {\n      const localVarAxiosArgs = await RoutingChatPlanServiceApiAxiosParamCreator(\n        configuration\n      ).readChatPlan(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {string} [name]\n     * @param {boolean} [enabled]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchChatPlan(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      name?: string,\n      enabled?: boolean,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListChatPlan>\n    > {\n      const localVarAxiosArgs = await RoutingChatPlanServiceApiAxiosParamCreator(\n        configuration\n      ).searchChatPlan(page, size, q, sort, fields, id, name, enabled, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineRoutingChatPlanServiceUpdateChatPlanBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateChatPlan(\n      id: number,\n      body: EngineRoutingChatPlanServiceUpdateChatPlanBody,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineChatPlan>\n    > {\n      const localVarAxiosArgs = await RoutingChatPlanServiceApiAxiosParamCreator(\n        configuration\n      ).updateChatPlan(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * RoutingChatPlanServiceApi - factory interface\n * @export\n */\nexport const RoutingChatPlanServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {EngineCreateChatPlanRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createChatPlan(\n      body: EngineCreateChatPlanRequest,\n      options?: any\n    ): AxiosPromise<EngineChatPlan> {\n      return RoutingChatPlanServiceApiFp(configuration)\n        .createChatPlan(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteChatPlan(id: number, options?: any): AxiosPromise<EngineChatPlan> {\n      return RoutingChatPlanServiceApiFp(configuration)\n        .deleteChatPlan(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineRoutingChatPlanServicePatchChatPlanBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchChatPlan(\n      id: number,\n      body: EngineRoutingChatPlanServicePatchChatPlanBody,\n      options?: any\n    ): AxiosPromise<EngineChatPlan> {\n      return RoutingChatPlanServiceApiFp(configuration)\n        .patchChatPlan(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readChatPlan(id: number, options?: any): AxiosPromise<EngineChatPlan> {\n      return RoutingChatPlanServiceApiFp(configuration)\n        .readChatPlan(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {string} [name]\n     * @param {boolean} [enabled]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchChatPlan(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      name?: string,\n      enabled?: boolean,\n      options?: any\n    ): AxiosPromise<EngineListChatPlan> {\n      return RoutingChatPlanServiceApiFp(configuration)\n        .searchChatPlan(page, size, q, sort, fields, id, name, enabled, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineRoutingChatPlanServiceUpdateChatPlanBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateChatPlan(\n      id: number,\n      body: EngineRoutingChatPlanServiceUpdateChatPlanBody,\n      options?: any\n    ): AxiosPromise<EngineChatPlan> {\n      return RoutingChatPlanServiceApiFp(configuration)\n        .updateChatPlan(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * RoutingChatPlanServiceApi - object-oriented interface\n * @export\n * @class RoutingChatPlanServiceApi\n * @extends {BaseAPI}\n */\nexport class RoutingChatPlanServiceApi extends BaseAPI {\n  /**\n   *\n   * @param {EngineCreateChatPlanRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RoutingChatPlanServiceApi\n   */\n  public createChatPlan(body: EngineCreateChatPlanRequest, options?: any) {\n    return RoutingChatPlanServiceApiFp(this.configuration)\n      .createChatPlan(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RoutingChatPlanServiceApi\n   */\n  public deleteChatPlan(id: number, options?: any) {\n    return RoutingChatPlanServiceApiFp(this.configuration)\n      .deleteChatPlan(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} id\n   * @param {EngineRoutingChatPlanServicePatchChatPlanBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RoutingChatPlanServiceApi\n   */\n  public patchChatPlan(\n    id: number,\n    body: EngineRoutingChatPlanServicePatchChatPlanBody,\n    options?: any\n  ) {\n    return RoutingChatPlanServiceApiFp(this.configuration)\n      .patchChatPlan(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RoutingChatPlanServiceApi\n   */\n  public readChatPlan(id: number, options?: any) {\n    return RoutingChatPlanServiceApiFp(this.configuration)\n      .readChatPlan(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<number>} [id]\n   * @param {string} [name]\n   * @param {boolean} [enabled]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RoutingChatPlanServiceApi\n   */\n  public searchChatPlan(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<number>,\n    name?: string,\n    enabled?: boolean,\n    options?: any\n  ) {\n    return RoutingChatPlanServiceApiFp(this.configuration)\n      .searchChatPlan(page, size, q, sort, fields, id, name, enabled, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} id\n   * @param {EngineRoutingChatPlanServiceUpdateChatPlanBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RoutingChatPlanServiceApi\n   */\n  public updateChatPlan(\n    id: number,\n    body: EngineRoutingChatPlanServiceUpdateChatPlanBody,\n    options?: any\n  ) {\n    return RoutingChatPlanServiceApiFp(this.configuration)\n      .updateChatPlan(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { EngineCreateRoutingOutboundCallRequest } from '../api'\n// @ts-ignore\nimport { EngineListRoutingOutboundCall } from '../api'\n// @ts-ignore\nimport { EngineMovePositionRoutingOutboundCallResponse } from '../api'\n// @ts-ignore\nimport { EngineRoutingOutboundCall } from '../api'\n// @ts-ignore\nimport { EngineRoutingOutboundCallServiceMovePositionRoutingOutboundCallBody } from '../api'\n// @ts-ignore\nimport { EngineRoutingOutboundCallServicePatchRoutingOutboundCallBody } from '../api'\n// @ts-ignore\nimport { EngineRoutingOutboundCallServiceUpdateRoutingOutboundCallBody } from '../api'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n/**\n * RoutingOutboundCallServiceApi - axios parameter creator\n * @export\n */\nexport const RoutingOutboundCallServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create RoutingOutboundCall\n     * @param {EngineCreateRoutingOutboundCallRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createRoutingOutboundCall: async (\n      body: EngineCreateRoutingOutboundCallRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createRoutingOutboundCall.'\n        )\n      }\n      const localVarPath = `/routing/outbound/calls`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Remove RoutingOutboundCall\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteRoutingOutboundCall: async (\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteRoutingOutboundCall.'\n        )\n      }\n      const localVarPath = `/routing/outbound/calls/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Move RoutingOutboundCall\n     * @param {string} fromId\n     * @param {string} toId\n     * @param {EngineRoutingOutboundCallServiceMovePositionRoutingOutboundCallBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    movePositionRoutingOutboundCall: async (\n      fromId: string,\n      toId: string,\n      body: EngineRoutingOutboundCallServiceMovePositionRoutingOutboundCallBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'fromId' is not null or undefined\n      if (fromId === null || fromId === undefined) {\n        throw new RequiredError(\n          'fromId',\n          'Required parameter fromId was null or undefined when calling movePositionRoutingOutboundCall.'\n        )\n      }\n      // verify required parameter 'toId' is not null or undefined\n      if (toId === null || toId === undefined) {\n        throw new RequiredError(\n          'toId',\n          'Required parameter toId was null or undefined when calling movePositionRoutingOutboundCall.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling movePositionRoutingOutboundCall.'\n        )\n      }\n      const localVarPath = `/routing/outbound/calls/{from_id}/to/{to_id}`\n        .replace(`{${'from_id'}}`, encodeURIComponent(String(fromId)))\n        .replace(`{${'to_id'}}`, encodeURIComponent(String(toId)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Patch RoutingOutboundCall\n     * @param {string} id\n     * @param {EngineRoutingOutboundCallServicePatchRoutingOutboundCallBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchRoutingOutboundCall: async (\n      id: string,\n      body: EngineRoutingOutboundCallServicePatchRoutingOutboundCallBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling patchRoutingOutboundCall.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling patchRoutingOutboundCall.'\n        )\n      }\n      const localVarPath = `/routing/outbound/calls/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary RoutingOutboundCall item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readRoutingOutboundCall: async (\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readRoutingOutboundCall.'\n        )\n      }\n      const localVarPath = `/routing/outbound/calls/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary List of RoutingOutboundCall\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {string} [name]\n     * @param {Array<number>} [schemaId]\n     * @param {string} [pattern]\n     * @param {string} [description]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchRoutingOutboundCall: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      name?: string,\n      schemaId?: Array<number>,\n      pattern?: string,\n      description?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/routing/outbound/calls`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (name !== undefined) {\n        localVarQueryParameter['name'] = name\n      }\n\n      if (schemaId) {\n        localVarQueryParameter['schema_id'] = schemaId\n      }\n\n      if (pattern !== undefined) {\n        localVarQueryParameter['pattern'] = pattern\n      }\n\n      if (description !== undefined) {\n        localVarQueryParameter['description'] = description\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update RoutingOutboundCall\n     * @param {string} id\n     * @param {EngineRoutingOutboundCallServiceUpdateRoutingOutboundCallBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateRoutingOutboundCall: async (\n      id: string,\n      body: EngineRoutingOutboundCallServiceUpdateRoutingOutboundCallBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateRoutingOutboundCall.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateRoutingOutboundCall.'\n        )\n      }\n      const localVarPath = `/routing/outbound/calls/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * RoutingOutboundCallServiceApi - functional programming interface\n * @export\n */\nexport const RoutingOutboundCallServiceApiFp = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create RoutingOutboundCall\n     * @param {EngineCreateRoutingOutboundCallRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createRoutingOutboundCall(\n      body: EngineCreateRoutingOutboundCallRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineRoutingOutboundCall>\n    > {\n      const localVarAxiosArgs = await RoutingOutboundCallServiceApiAxiosParamCreator(\n        configuration\n      ).createRoutingOutboundCall(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Remove RoutingOutboundCall\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteRoutingOutboundCall(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineRoutingOutboundCall>\n    > {\n      const localVarAxiosArgs = await RoutingOutboundCallServiceApiAxiosParamCreator(\n        configuration\n      ).deleteRoutingOutboundCall(id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Move RoutingOutboundCall\n     * @param {string} fromId\n     * @param {string} toId\n     * @param {EngineRoutingOutboundCallServiceMovePositionRoutingOutboundCallBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async movePositionRoutingOutboundCall(\n      fromId: string,\n      toId: string,\n      body: EngineRoutingOutboundCallServiceMovePositionRoutingOutboundCallBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineMovePositionRoutingOutboundCallResponse>\n    > {\n      const localVarAxiosArgs = await RoutingOutboundCallServiceApiAxiosParamCreator(\n        configuration\n      ).movePositionRoutingOutboundCall(fromId, toId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Patch RoutingOutboundCall\n     * @param {string} id\n     * @param {EngineRoutingOutboundCallServicePatchRoutingOutboundCallBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async patchRoutingOutboundCall(\n      id: string,\n      body: EngineRoutingOutboundCallServicePatchRoutingOutboundCallBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineRoutingOutboundCall>\n    > {\n      const localVarAxiosArgs = await RoutingOutboundCallServiceApiAxiosParamCreator(\n        configuration\n      ).patchRoutingOutboundCall(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary RoutingOutboundCall item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readRoutingOutboundCall(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineRoutingOutboundCall>\n    > {\n      const localVarAxiosArgs = await RoutingOutboundCallServiceApiAxiosParamCreator(\n        configuration\n      ).readRoutingOutboundCall(id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary List of RoutingOutboundCall\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {string} [name]\n     * @param {Array<number>} [schemaId]\n     * @param {string} [pattern]\n     * @param {string} [description]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchRoutingOutboundCall(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      name?: string,\n      schemaId?: Array<number>,\n      pattern?: string,\n      description?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListRoutingOutboundCall>\n    > {\n      const localVarAxiosArgs = await RoutingOutboundCallServiceApiAxiosParamCreator(\n        configuration\n      ).searchRoutingOutboundCall(\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        name,\n        schemaId,\n        pattern,\n        description,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update RoutingOutboundCall\n     * @param {string} id\n     * @param {EngineRoutingOutboundCallServiceUpdateRoutingOutboundCallBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateRoutingOutboundCall(\n      id: string,\n      body: EngineRoutingOutboundCallServiceUpdateRoutingOutboundCallBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineRoutingOutboundCall>\n    > {\n      const localVarAxiosArgs = await RoutingOutboundCallServiceApiAxiosParamCreator(\n        configuration\n      ).updateRoutingOutboundCall(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * RoutingOutboundCallServiceApi - factory interface\n * @export\n */\nexport const RoutingOutboundCallServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Create RoutingOutboundCall\n     * @param {EngineCreateRoutingOutboundCallRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createRoutingOutboundCall(\n      body: EngineCreateRoutingOutboundCallRequest,\n      options?: any\n    ): AxiosPromise<EngineRoutingOutboundCall> {\n      return RoutingOutboundCallServiceApiFp(configuration)\n        .createRoutingOutboundCall(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Remove RoutingOutboundCall\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteRoutingOutboundCall(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineRoutingOutboundCall> {\n      return RoutingOutboundCallServiceApiFp(configuration)\n        .deleteRoutingOutboundCall(id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Move RoutingOutboundCall\n     * @param {string} fromId\n     * @param {string} toId\n     * @param {EngineRoutingOutboundCallServiceMovePositionRoutingOutboundCallBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    movePositionRoutingOutboundCall(\n      fromId: string,\n      toId: string,\n      body: EngineRoutingOutboundCallServiceMovePositionRoutingOutboundCallBody,\n      options?: any\n    ): AxiosPromise<EngineMovePositionRoutingOutboundCallResponse> {\n      return RoutingOutboundCallServiceApiFp(configuration)\n        .movePositionRoutingOutboundCall(fromId, toId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Patch RoutingOutboundCall\n     * @param {string} id\n     * @param {EngineRoutingOutboundCallServicePatchRoutingOutboundCallBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchRoutingOutboundCall(\n      id: string,\n      body: EngineRoutingOutboundCallServicePatchRoutingOutboundCallBody,\n      options?: any\n    ): AxiosPromise<EngineRoutingOutboundCall> {\n      return RoutingOutboundCallServiceApiFp(configuration)\n        .patchRoutingOutboundCall(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary RoutingOutboundCall item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readRoutingOutboundCall(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineRoutingOutboundCall> {\n      return RoutingOutboundCallServiceApiFp(configuration)\n        .readRoutingOutboundCall(id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary List of RoutingOutboundCall\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {string} [name]\n     * @param {Array<number>} [schemaId]\n     * @param {string} [pattern]\n     * @param {string} [description]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchRoutingOutboundCall(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      name?: string,\n      schemaId?: Array<number>,\n      pattern?: string,\n      description?: string,\n      options?: any\n    ): AxiosPromise<EngineListRoutingOutboundCall> {\n      return RoutingOutboundCallServiceApiFp(configuration)\n        .searchRoutingOutboundCall(\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          id,\n          name,\n          schemaId,\n          pattern,\n          description,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update RoutingOutboundCall\n     * @param {string} id\n     * @param {EngineRoutingOutboundCallServiceUpdateRoutingOutboundCallBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateRoutingOutboundCall(\n      id: string,\n      body: EngineRoutingOutboundCallServiceUpdateRoutingOutboundCallBody,\n      options?: any\n    ): AxiosPromise<EngineRoutingOutboundCall> {\n      return RoutingOutboundCallServiceApiFp(configuration)\n        .updateRoutingOutboundCall(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * RoutingOutboundCallServiceApi - object-oriented interface\n * @export\n * @class RoutingOutboundCallServiceApi\n * @extends {BaseAPI}\n */\nexport class RoutingOutboundCallServiceApi extends BaseAPI {\n  /**\n   *\n   * @summary Create RoutingOutboundCall\n   * @param {EngineCreateRoutingOutboundCallRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RoutingOutboundCallServiceApi\n   */\n  public createRoutingOutboundCall(\n    body: EngineCreateRoutingOutboundCallRequest,\n    options?: any\n  ) {\n    return RoutingOutboundCallServiceApiFp(this.configuration)\n      .createRoutingOutboundCall(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Remove RoutingOutboundCall\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RoutingOutboundCallServiceApi\n   */\n  public deleteRoutingOutboundCall(\n    id: string,\n    domainId?: string,\n    options?: any\n  ) {\n    return RoutingOutboundCallServiceApiFp(this.configuration)\n      .deleteRoutingOutboundCall(id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Move RoutingOutboundCall\n   * @param {string} fromId\n   * @param {string} toId\n   * @param {EngineRoutingOutboundCallServiceMovePositionRoutingOutboundCallBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RoutingOutboundCallServiceApi\n   */\n  public movePositionRoutingOutboundCall(\n    fromId: string,\n    toId: string,\n    body: EngineRoutingOutboundCallServiceMovePositionRoutingOutboundCallBody,\n    options?: any\n  ) {\n    return RoutingOutboundCallServiceApiFp(this.configuration)\n      .movePositionRoutingOutboundCall(fromId, toId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Patch RoutingOutboundCall\n   * @param {string} id\n   * @param {EngineRoutingOutboundCallServicePatchRoutingOutboundCallBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RoutingOutboundCallServiceApi\n   */\n  public patchRoutingOutboundCall(\n    id: string,\n    body: EngineRoutingOutboundCallServicePatchRoutingOutboundCallBody,\n    options?: any\n  ) {\n    return RoutingOutboundCallServiceApiFp(this.configuration)\n      .patchRoutingOutboundCall(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary RoutingOutboundCall item\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RoutingOutboundCallServiceApi\n   */\n  public readRoutingOutboundCall(id: string, domainId?: string, options?: any) {\n    return RoutingOutboundCallServiceApiFp(this.configuration)\n      .readRoutingOutboundCall(id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary List of RoutingOutboundCall\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<number>} [id]\n   * @param {string} [name]\n   * @param {Array<number>} [schemaId]\n   * @param {string} [pattern]\n   * @param {string} [description]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RoutingOutboundCallServiceApi\n   */\n  public searchRoutingOutboundCall(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<number>,\n    name?: string,\n    schemaId?: Array<number>,\n    pattern?: string,\n    description?: string,\n    options?: any\n  ) {\n    return RoutingOutboundCallServiceApiFp(this.configuration)\n      .searchRoutingOutboundCall(\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        name,\n        schemaId,\n        pattern,\n        description,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update RoutingOutboundCall\n   * @param {string} id\n   * @param {EngineRoutingOutboundCallServiceUpdateRoutingOutboundCallBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RoutingOutboundCallServiceApi\n   */\n  public updateRoutingOutboundCall(\n    id: string,\n    body: EngineRoutingOutboundCallServiceUpdateRoutingOutboundCallBody,\n    options?: any\n  ) {\n    return RoutingOutboundCallServiceApiFp(this.configuration)\n      .updateRoutingOutboundCall(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { EngineCreateRoutingSchemaRequest } from '../api'\n// @ts-ignore\nimport { EngineListRoutingSchema } from '../api'\n// @ts-ignore\nimport { EngineListRoutingSchemaTags } from '../api'\n// @ts-ignore\nimport { EngineRoutingSchema } from '../api'\n// @ts-ignore\nimport { EngineRoutingSchemaServicePatchRoutingSchemaBody } from '../api'\n// @ts-ignore\nimport { EngineRoutingSchemaServiceUpdateRoutingSchemaBody } from '../api'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n/**\n * RoutingSchemaServiceApi - axios parameter creator\n * @export\n */\nexport const RoutingSchemaServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create RoutingSchema\n     * @param {EngineCreateRoutingSchemaRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createRoutingSchema: async (\n      body: EngineCreateRoutingSchemaRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createRoutingSchema.'\n        )\n      }\n      const localVarPath = `/routing/schema`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Remove RoutingSchema\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteRoutingSchema: async (\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteRoutingSchema.'\n        )\n      }\n      const localVarPath = `/routing/schema/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Patch RoutingSchema\n     * @param {string} id\n     * @param {EngineRoutingSchemaServicePatchRoutingSchemaBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchRoutingSchema: async (\n      id: string,\n      body: EngineRoutingSchemaServicePatchRoutingSchemaBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling patchRoutingSchema.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling patchRoutingSchema.'\n        )\n      }\n      const localVarPath = `/routing/schema/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary RoutingSchema item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readRoutingSchema: async (\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readRoutingSchema.'\n        )\n      }\n      const localVarPath = `/routing/schema/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary List RoutingSchema\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {string} [name]\n     * @param {Array<'default' | 'voice' | 'chat' | 'processing' | 'service'>} [type]\n     * @param {boolean} [editor]\n     * @param {Array<string>} [tags]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchRoutingSchema: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      name?: string,\n      type?: Array<'default' | 'voice' | 'chat' | 'processing' | 'service'>,\n      editor?: boolean,\n      tags?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/routing/schema`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (name !== undefined) {\n        localVarQueryParameter['name'] = name\n      }\n\n      if (type) {\n        localVarQueryParameter['type'] = type\n      }\n\n      if (editor !== undefined) {\n        localVarQueryParameter['editor'] = editor\n      }\n\n      if (tags) {\n        localVarQueryParameter['tags'] = tags\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary List RoutingSchemaTags\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<'default' | 'voice' | 'chat' | 'processing' | 'service'>} [type]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchRoutingSchemaTags: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      type?: Array<'default' | 'voice' | 'chat' | 'processing' | 'service'>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/routing/schema/tags`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (type) {\n        localVarQueryParameter['type'] = type\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update RoutingSchema\n     * @param {string} id\n     * @param {EngineRoutingSchemaServiceUpdateRoutingSchemaBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateRoutingSchema: async (\n      id: string,\n      body: EngineRoutingSchemaServiceUpdateRoutingSchemaBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateRoutingSchema.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateRoutingSchema.'\n        )\n      }\n      const localVarPath = `/routing/schema/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * RoutingSchemaServiceApi - functional programming interface\n * @export\n */\nexport const RoutingSchemaServiceApiFp = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create RoutingSchema\n     * @param {EngineCreateRoutingSchemaRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createRoutingSchema(\n      body: EngineCreateRoutingSchemaRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineRoutingSchema>\n    > {\n      const localVarAxiosArgs = await RoutingSchemaServiceApiAxiosParamCreator(\n        configuration\n      ).createRoutingSchema(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Remove RoutingSchema\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteRoutingSchema(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineRoutingSchema>\n    > {\n      const localVarAxiosArgs = await RoutingSchemaServiceApiAxiosParamCreator(\n        configuration\n      ).deleteRoutingSchema(id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Patch RoutingSchema\n     * @param {string} id\n     * @param {EngineRoutingSchemaServicePatchRoutingSchemaBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async patchRoutingSchema(\n      id: string,\n      body: EngineRoutingSchemaServicePatchRoutingSchemaBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineRoutingSchema>\n    > {\n      const localVarAxiosArgs = await RoutingSchemaServiceApiAxiosParamCreator(\n        configuration\n      ).patchRoutingSchema(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary RoutingSchema item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readRoutingSchema(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineRoutingSchema>\n    > {\n      const localVarAxiosArgs = await RoutingSchemaServiceApiAxiosParamCreator(\n        configuration\n      ).readRoutingSchema(id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary List RoutingSchema\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {string} [name]\n     * @param {Array<'default' | 'voice' | 'chat' | 'processing' | 'service'>} [type]\n     * @param {boolean} [editor]\n     * @param {Array<string>} [tags]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchRoutingSchema(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      name?: string,\n      type?: Array<'default' | 'voice' | 'chat' | 'processing' | 'service'>,\n      editor?: boolean,\n      tags?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListRoutingSchema>\n    > {\n      const localVarAxiosArgs = await RoutingSchemaServiceApiAxiosParamCreator(\n        configuration\n      ).searchRoutingSchema(\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        name,\n        type,\n        editor,\n        tags,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary List RoutingSchemaTags\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<'default' | 'voice' | 'chat' | 'processing' | 'service'>} [type]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchRoutingSchemaTags(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      type?: Array<'default' | 'voice' | 'chat' | 'processing' | 'service'>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListRoutingSchemaTags>\n    > {\n      const localVarAxiosArgs = await RoutingSchemaServiceApiAxiosParamCreator(\n        configuration\n      ).searchRoutingSchemaTags(page, size, q, sort, fields, type, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update RoutingSchema\n     * @param {string} id\n     * @param {EngineRoutingSchemaServiceUpdateRoutingSchemaBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateRoutingSchema(\n      id: string,\n      body: EngineRoutingSchemaServiceUpdateRoutingSchemaBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineRoutingSchema>\n    > {\n      const localVarAxiosArgs = await RoutingSchemaServiceApiAxiosParamCreator(\n        configuration\n      ).updateRoutingSchema(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * RoutingSchemaServiceApi - factory interface\n * @export\n */\nexport const RoutingSchemaServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Create RoutingSchema\n     * @param {EngineCreateRoutingSchemaRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createRoutingSchema(\n      body: EngineCreateRoutingSchemaRequest,\n      options?: any\n    ): AxiosPromise<EngineRoutingSchema> {\n      return RoutingSchemaServiceApiFp(configuration)\n        .createRoutingSchema(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Remove RoutingSchema\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteRoutingSchema(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineRoutingSchema> {\n      return RoutingSchemaServiceApiFp(configuration)\n        .deleteRoutingSchema(id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Patch RoutingSchema\n     * @param {string} id\n     * @param {EngineRoutingSchemaServicePatchRoutingSchemaBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchRoutingSchema(\n      id: string,\n      body: EngineRoutingSchemaServicePatchRoutingSchemaBody,\n      options?: any\n    ): AxiosPromise<EngineRoutingSchema> {\n      return RoutingSchemaServiceApiFp(configuration)\n        .patchRoutingSchema(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary RoutingSchema item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readRoutingSchema(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineRoutingSchema> {\n      return RoutingSchemaServiceApiFp(configuration)\n        .readRoutingSchema(id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary List RoutingSchema\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {string} [name]\n     * @param {Array<'default' | 'voice' | 'chat' | 'processing' | 'service'>} [type]\n     * @param {boolean} [editor]\n     * @param {Array<string>} [tags]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchRoutingSchema(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      name?: string,\n      type?: Array<'default' | 'voice' | 'chat' | 'processing' | 'service'>,\n      editor?: boolean,\n      tags?: Array<string>,\n      options?: any\n    ): AxiosPromise<EngineListRoutingSchema> {\n      return RoutingSchemaServiceApiFp(configuration)\n        .searchRoutingSchema(\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          id,\n          name,\n          type,\n          editor,\n          tags,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary List RoutingSchemaTags\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<'default' | 'voice' | 'chat' | 'processing' | 'service'>} [type]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchRoutingSchemaTags(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      type?: Array<'default' | 'voice' | 'chat' | 'processing' | 'service'>,\n      options?: any\n    ): AxiosPromise<EngineListRoutingSchemaTags> {\n      return RoutingSchemaServiceApiFp(configuration)\n        .searchRoutingSchemaTags(page, size, q, sort, fields, type, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update RoutingSchema\n     * @param {string} id\n     * @param {EngineRoutingSchemaServiceUpdateRoutingSchemaBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateRoutingSchema(\n      id: string,\n      body: EngineRoutingSchemaServiceUpdateRoutingSchemaBody,\n      options?: any\n    ): AxiosPromise<EngineRoutingSchema> {\n      return RoutingSchemaServiceApiFp(configuration)\n        .updateRoutingSchema(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * RoutingSchemaServiceApi - object-oriented interface\n * @export\n * @class RoutingSchemaServiceApi\n * @extends {BaseAPI}\n */\nexport class RoutingSchemaServiceApi extends BaseAPI {\n  /**\n   *\n   * @summary Create RoutingSchema\n   * @param {EngineCreateRoutingSchemaRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RoutingSchemaServiceApi\n   */\n  public createRoutingSchema(\n    body: EngineCreateRoutingSchemaRequest,\n    options?: any\n  ) {\n    return RoutingSchemaServiceApiFp(this.configuration)\n      .createRoutingSchema(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Remove RoutingSchema\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RoutingSchemaServiceApi\n   */\n  public deleteRoutingSchema(id: string, domainId?: string, options?: any) {\n    return RoutingSchemaServiceApiFp(this.configuration)\n      .deleteRoutingSchema(id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Patch RoutingSchema\n   * @param {string} id\n   * @param {EngineRoutingSchemaServicePatchRoutingSchemaBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RoutingSchemaServiceApi\n   */\n  public patchRoutingSchema(\n    id: string,\n    body: EngineRoutingSchemaServicePatchRoutingSchemaBody,\n    options?: any\n  ) {\n    return RoutingSchemaServiceApiFp(this.configuration)\n      .patchRoutingSchema(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary RoutingSchema item\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RoutingSchemaServiceApi\n   */\n  public readRoutingSchema(id: string, domainId?: string, options?: any) {\n    return RoutingSchemaServiceApiFp(this.configuration)\n      .readRoutingSchema(id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary List RoutingSchema\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<number>} [id]\n   * @param {string} [name]\n   * @param {Array<'default' | 'voice' | 'chat' | 'processing' | 'service'>} [type]\n   * @param {boolean} [editor]\n   * @param {Array<string>} [tags]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RoutingSchemaServiceApi\n   */\n  public searchRoutingSchema(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<number>,\n    name?: string,\n    type?: Array<'default' | 'voice' | 'chat' | 'processing' | 'service'>,\n    editor?: boolean,\n    tags?: Array<string>,\n    options?: any\n  ) {\n    return RoutingSchemaServiceApiFp(this.configuration)\n      .searchRoutingSchema(\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        name,\n        type,\n        editor,\n        tags,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary List RoutingSchemaTags\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<'default' | 'voice' | 'chat' | 'processing' | 'service'>} [type]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RoutingSchemaServiceApi\n   */\n  public searchRoutingSchemaTags(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    type?: Array<'default' | 'voice' | 'chat' | 'processing' | 'service'>,\n    options?: any\n  ) {\n    return RoutingSchemaServiceApiFp(this.configuration)\n      .searchRoutingSchemaTags(page, size, q, sort, fields, type, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update RoutingSchema\n   * @param {string} id\n   * @param {EngineRoutingSchemaServiceUpdateRoutingSchemaBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RoutingSchemaServiceApi\n   */\n  public updateRoutingSchema(\n    id: string,\n    body: EngineRoutingSchemaServiceUpdateRoutingSchemaBody,\n    options?: any\n  ) {\n    return RoutingSchemaServiceApiFp(this.configuration)\n      .updateRoutingSchema(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { EngineCreateRoutingVariableRequest } from '../api'\n// @ts-ignore\nimport { EngineListRoutingVariable } from '../api'\n// @ts-ignore\nimport { EngineRoutingVariable } from '../api'\n// @ts-ignore\nimport { EngineRoutingVariableServiceUpdateRoutingVariableBody } from '../api'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n/**\n * RoutingVariableServiceApi - axios parameter creator\n * @export\n */\nexport const RoutingVariableServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create RoutingVariable\n     * @param {EngineCreateRoutingVariableRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createRoutingVariable: async (\n      body: EngineCreateRoutingVariableRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createRoutingVariable.'\n        )\n      }\n      const localVarPath = `/routing/variables`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Remove RoutingVariable\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteRoutingVariable: async (\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteRoutingVariable.'\n        )\n      }\n      const localVarPath = `/routing/variables/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary RoutingVariable item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readRoutingVariable: async (\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readRoutingVariable.'\n        )\n      }\n      const localVarPath = `/routing/variables/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary List of RoutingVariable\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchRoutingVariable: async (\n      page?: number,\n      size?: number,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/routing/variables`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update RoutingVariable\n     * @param {string} id\n     * @param {EngineRoutingVariableServiceUpdateRoutingVariableBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateRoutingVariable: async (\n      id: string,\n      body: EngineRoutingVariableServiceUpdateRoutingVariableBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateRoutingVariable.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateRoutingVariable.'\n        )\n      }\n      const localVarPath = `/routing/variables/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * RoutingVariableServiceApi - functional programming interface\n * @export\n */\nexport const RoutingVariableServiceApiFp = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create RoutingVariable\n     * @param {EngineCreateRoutingVariableRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createRoutingVariable(\n      body: EngineCreateRoutingVariableRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineRoutingVariable>\n    > {\n      const localVarAxiosArgs = await RoutingVariableServiceApiAxiosParamCreator(\n        configuration\n      ).createRoutingVariable(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Remove RoutingVariable\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteRoutingVariable(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineRoutingVariable>\n    > {\n      const localVarAxiosArgs = await RoutingVariableServiceApiAxiosParamCreator(\n        configuration\n      ).deleteRoutingVariable(id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary RoutingVariable item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readRoutingVariable(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineRoutingVariable>\n    > {\n      const localVarAxiosArgs = await RoutingVariableServiceApiAxiosParamCreator(\n        configuration\n      ).readRoutingVariable(id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary List of RoutingVariable\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchRoutingVariable(\n      page?: number,\n      size?: number,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListRoutingVariable>\n    > {\n      const localVarAxiosArgs = await RoutingVariableServiceApiAxiosParamCreator(\n        configuration\n      ).searchRoutingVariable(page, size, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update RoutingVariable\n     * @param {string} id\n     * @param {EngineRoutingVariableServiceUpdateRoutingVariableBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateRoutingVariable(\n      id: string,\n      body: EngineRoutingVariableServiceUpdateRoutingVariableBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineRoutingVariable>\n    > {\n      const localVarAxiosArgs = await RoutingVariableServiceApiAxiosParamCreator(\n        configuration\n      ).updateRoutingVariable(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * RoutingVariableServiceApi - factory interface\n * @export\n */\nexport const RoutingVariableServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Create RoutingVariable\n     * @param {EngineCreateRoutingVariableRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createRoutingVariable(\n      body: EngineCreateRoutingVariableRequest,\n      options?: any\n    ): AxiosPromise<EngineRoutingVariable> {\n      return RoutingVariableServiceApiFp(configuration)\n        .createRoutingVariable(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Remove RoutingVariable\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteRoutingVariable(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineRoutingVariable> {\n      return RoutingVariableServiceApiFp(configuration)\n        .deleteRoutingVariable(id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary RoutingVariable item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readRoutingVariable(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineRoutingVariable> {\n      return RoutingVariableServiceApiFp(configuration)\n        .readRoutingVariable(id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary List of RoutingVariable\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchRoutingVariable(\n      page?: number,\n      size?: number,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineListRoutingVariable> {\n      return RoutingVariableServiceApiFp(configuration)\n        .searchRoutingVariable(page, size, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update RoutingVariable\n     * @param {string} id\n     * @param {EngineRoutingVariableServiceUpdateRoutingVariableBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateRoutingVariable(\n      id: string,\n      body: EngineRoutingVariableServiceUpdateRoutingVariableBody,\n      options?: any\n    ): AxiosPromise<EngineRoutingVariable> {\n      return RoutingVariableServiceApiFp(configuration)\n        .updateRoutingVariable(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * RoutingVariableServiceApi - object-oriented interface\n * @export\n * @class RoutingVariableServiceApi\n * @extends {BaseAPI}\n */\nexport class RoutingVariableServiceApi extends BaseAPI {\n  /**\n   *\n   * @summary Create RoutingVariable\n   * @param {EngineCreateRoutingVariableRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RoutingVariableServiceApi\n   */\n  public createRoutingVariable(\n    body: EngineCreateRoutingVariableRequest,\n    options?: any\n  ) {\n    return RoutingVariableServiceApiFp(this.configuration)\n      .createRoutingVariable(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Remove RoutingVariable\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RoutingVariableServiceApi\n   */\n  public deleteRoutingVariable(id: string, domainId?: string, options?: any) {\n    return RoutingVariableServiceApiFp(this.configuration)\n      .deleteRoutingVariable(id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary RoutingVariable item\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RoutingVariableServiceApi\n   */\n  public readRoutingVariable(id: string, domainId?: string, options?: any) {\n    return RoutingVariableServiceApiFp(this.configuration)\n      .readRoutingVariable(id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary List of RoutingVariable\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RoutingVariableServiceApi\n   */\n  public searchRoutingVariable(\n    page?: number,\n    size?: number,\n    domainId?: string,\n    options?: any\n  ) {\n    return RoutingVariableServiceApiFp(this.configuration)\n      .searchRoutingVariable(page, size, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update RoutingVariable\n   * @param {string} id\n   * @param {EngineRoutingVariableServiceUpdateRoutingVariableBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof RoutingVariableServiceApi\n   */\n  public updateRoutingVariable(\n    id: string,\n    body: EngineRoutingVariableServiceUpdateRoutingVariableBody,\n    options?: any\n  ) {\n    return RoutingVariableServiceApiFp(this.configuration)\n      .updateRoutingVariable(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n// @ts-ignore\nimport { WebitelCasesInputSLACondition } from '../api'\n// @ts-ignore\nimport { WebitelCasesLocateSLAConditionResponse } from '../api'\n// @ts-ignore\nimport { WebitelCasesSLACondition } from '../api'\n// @ts-ignore\nimport { WebitelCasesSLAConditionList } from '../api'\n/**\n * SLAConditionsApi - axios parameter creator\n * @export\n */\nexport const SLAConditionsApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create a new SLACondition\n     * @param {string} slaId\n     * @param {WebitelCasesInputSLACondition} input\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createSLACondition: async (\n      slaId: string,\n      input: WebitelCasesInputSLACondition,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'slaId' is not null or undefined\n      if (slaId === null || slaId === undefined) {\n        throw new RequiredError(\n          'slaId',\n          'Required parameter slaId was null or undefined when calling createSLACondition.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling createSLACondition.'\n        )\n      }\n      const localVarPath = `/slas/{sla_id}/sla_condition`.replace(\n        `{${'sla_id'}}`,\n        encodeURIComponent(String(slaId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Delete an SLACondition\n     * @param {string} slaId\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteSLACondition: async (\n      slaId: string,\n      id: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'slaId' is not null or undefined\n      if (slaId === null || slaId === undefined) {\n        throw new RequiredError(\n          'slaId',\n          'Required parameter slaId was null or undefined when calling deleteSLACondition.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteSLACondition.'\n        )\n      }\n      const localVarPath = `/slas/{sla_id}/sla_condition/{id}`\n        .replace(`{${'sla_id'}}`, encodeURIComponent(String(slaId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Retrieve a list of SLAConditions or search SLACondition conditions\n     * @param {string} slaId Filter by SLA Id\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {string} [sort] Sort the result according to fields.\n     * @param {Array<string>} [id] Filter by unique IDs.\n     * @param {string} [q] Search query string for filtering by name. Supports: - Wildcards (*) for substring matching - Placeholder (?) for single character substitution - Exact match for full names\n     * @param {string} [slaConditionId] Filter by SLACondition Id.\n     * @param {string} [priorityId] filter by priority id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listSLAConditions: async (\n      slaId: string,\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: string,\n      id?: Array<string>,\n      q?: string,\n      slaConditionId?: string,\n      priorityId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'slaId' is not null or undefined\n      if (slaId === null || slaId === undefined) {\n        throw new RequiredError(\n          'slaId',\n          'Required parameter slaId was null or undefined when calling listSLAConditions.'\n        )\n      }\n      const localVarPath = `/slas/{sla_id}/sla_conditions`.replace(\n        `{${'sla_id'}}`,\n        encodeURIComponent(String(slaId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (slaConditionId !== undefined) {\n        localVarQueryParameter['sla_condition_id'] = slaConditionId\n      }\n\n      if (priorityId !== undefined) {\n        localVarQueryParameter['priority_id'] = priorityId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Locate an SLACondition by ID\n     * @param {string} slaId Unique identifier of the SLACondition\n     * @param {string} id Unique identifier of the SLACondition\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateSLACondition: async (\n      slaId: string,\n      id: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'slaId' is not null or undefined\n      if (slaId === null || slaId === undefined) {\n        throw new RequiredError(\n          'slaId',\n          'Required parameter slaId was null or undefined when calling locateSLACondition.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling locateSLACondition.'\n        )\n      }\n      const localVarPath = `/slas/{sla_id}/sla_condition/{id}`\n        .replace(`{${'sla_id'}}`, encodeURIComponent(String(slaId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update an existing SLACondition\n     * @param {string} slaId\n     * @param {string} id\n     * @param {WebitelCasesInputSLACondition} input\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateSLACondition: async (\n      slaId: string,\n      id: string,\n      input: WebitelCasesInputSLACondition,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'slaId' is not null or undefined\n      if (slaId === null || slaId === undefined) {\n        throw new RequiredError(\n          'slaId',\n          'Required parameter slaId was null or undefined when calling updateSLACondition.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateSLACondition.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateSLACondition.'\n        )\n      }\n      const localVarPath = `/slas/{sla_id}/sla_condition/{id}`\n        .replace(`{${'sla_id'}}`, encodeURIComponent(String(slaId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update an existing SLACondition\n     * @param {string} slaId\n     * @param {string} id\n     * @param {WebitelCasesInputSLACondition} input\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateSLACondition2: async (\n      slaId: string,\n      id: string,\n      input: WebitelCasesInputSLACondition,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'slaId' is not null or undefined\n      if (slaId === null || slaId === undefined) {\n        throw new RequiredError(\n          'slaId',\n          'Required parameter slaId was null or undefined when calling updateSLACondition2.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateSLACondition2.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateSLACondition2.'\n        )\n      }\n      const localVarPath = `/slas/{sla_id}/sla_condition/{id}`\n        .replace(`{${'sla_id'}}`, encodeURIComponent(String(slaId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * SLAConditionsApi - functional programming interface\n * @export\n */\nexport const SLAConditionsApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Create a new SLACondition\n     * @param {string} slaId\n     * @param {WebitelCasesInputSLACondition} input\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createSLACondition(\n      slaId: string,\n      input: WebitelCasesInputSLACondition,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesSLACondition>\n    > {\n      const localVarAxiosArgs = await SLAConditionsApiAxiosParamCreator(\n        configuration\n      ).createSLACondition(slaId, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Delete an SLACondition\n     * @param {string} slaId\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteSLACondition(\n      slaId: string,\n      id: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesSLACondition>\n    > {\n      const localVarAxiosArgs = await SLAConditionsApiAxiosParamCreator(\n        configuration\n      ).deleteSLACondition(slaId, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Retrieve a list of SLAConditions or search SLACondition conditions\n     * @param {string} slaId Filter by SLA Id\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {string} [sort] Sort the result according to fields.\n     * @param {Array<string>} [id] Filter by unique IDs.\n     * @param {string} [q] Search query string for filtering by name. Supports: - Wildcards (*) for substring matching - Placeholder (?) for single character substitution - Exact match for full names\n     * @param {string} [slaConditionId] Filter by SLACondition Id.\n     * @param {string} [priorityId] filter by priority id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async listSLAConditions(\n      slaId: string,\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: string,\n      id?: Array<string>,\n      q?: string,\n      slaConditionId?: string,\n      priorityId?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesSLAConditionList>\n    > {\n      const localVarAxiosArgs = await SLAConditionsApiAxiosParamCreator(\n        configuration\n      ).listSLAConditions(\n        slaId,\n        page,\n        size,\n        fields,\n        sort,\n        id,\n        q,\n        slaConditionId,\n        priorityId,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Locate an SLACondition by ID\n     * @param {string} slaId Unique identifier of the SLACondition\n     * @param {string} id Unique identifier of the SLACondition\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async locateSLACondition(\n      slaId: string,\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesLocateSLAConditionResponse>\n    > {\n      const localVarAxiosArgs = await SLAConditionsApiAxiosParamCreator(\n        configuration\n      ).locateSLACondition(slaId, id, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update an existing SLACondition\n     * @param {string} slaId\n     * @param {string} id\n     * @param {WebitelCasesInputSLACondition} input\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateSLACondition(\n      slaId: string,\n      id: string,\n      input: WebitelCasesInputSLACondition,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesSLACondition>\n    > {\n      const localVarAxiosArgs = await SLAConditionsApiAxiosParamCreator(\n        configuration\n      ).updateSLACondition(slaId, id, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update an existing SLACondition\n     * @param {string} slaId\n     * @param {string} id\n     * @param {WebitelCasesInputSLACondition} input\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateSLACondition2(\n      slaId: string,\n      id: string,\n      input: WebitelCasesInputSLACondition,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesSLACondition>\n    > {\n      const localVarAxiosArgs = await SLAConditionsApiAxiosParamCreator(\n        configuration\n      ).updateSLACondition2(slaId, id, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * SLAConditionsApi - factory interface\n * @export\n */\nexport const SLAConditionsApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Create a new SLACondition\n     * @param {string} slaId\n     * @param {WebitelCasesInputSLACondition} input\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createSLACondition(\n      slaId: string,\n      input: WebitelCasesInputSLACondition,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesSLACondition> {\n      return SLAConditionsApiFp(configuration)\n        .createSLACondition(slaId, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Delete an SLACondition\n     * @param {string} slaId\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteSLACondition(\n      slaId: string,\n      id: string,\n      options?: any\n    ): AxiosPromise<WebitelCasesSLACondition> {\n      return SLAConditionsApiFp(configuration)\n        .deleteSLACondition(slaId, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Retrieve a list of SLAConditions or search SLACondition conditions\n     * @param {string} slaId Filter by SLA Id\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {string} [sort] Sort the result according to fields.\n     * @param {Array<string>} [id] Filter by unique IDs.\n     * @param {string} [q] Search query string for filtering by name. Supports: - Wildcards (*) for substring matching - Placeholder (?) for single character substitution - Exact match for full names\n     * @param {string} [slaConditionId] Filter by SLACondition Id.\n     * @param {string} [priorityId] filter by priority id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listSLAConditions(\n      slaId: string,\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: string,\n      id?: Array<string>,\n      q?: string,\n      slaConditionId?: string,\n      priorityId?: string,\n      options?: any\n    ): AxiosPromise<WebitelCasesSLAConditionList> {\n      return SLAConditionsApiFp(configuration)\n        .listSLAConditions(\n          slaId,\n          page,\n          size,\n          fields,\n          sort,\n          id,\n          q,\n          slaConditionId,\n          priorityId,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Locate an SLACondition by ID\n     * @param {string} slaId Unique identifier of the SLACondition\n     * @param {string} id Unique identifier of the SLACondition\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateSLACondition(\n      slaId: string,\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesLocateSLAConditionResponse> {\n      return SLAConditionsApiFp(configuration)\n        .locateSLACondition(slaId, id, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update an existing SLACondition\n     * @param {string} slaId\n     * @param {string} id\n     * @param {WebitelCasesInputSLACondition} input\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateSLACondition(\n      slaId: string,\n      id: string,\n      input: WebitelCasesInputSLACondition,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesSLACondition> {\n      return SLAConditionsApiFp(configuration)\n        .updateSLACondition(slaId, id, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update an existing SLACondition\n     * @param {string} slaId\n     * @param {string} id\n     * @param {WebitelCasesInputSLACondition} input\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateSLACondition2(\n      slaId: string,\n      id: string,\n      input: WebitelCasesInputSLACondition,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesSLACondition> {\n      return SLAConditionsApiFp(configuration)\n        .updateSLACondition2(slaId, id, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * SLAConditionsApi - object-oriented interface\n * @export\n * @class SLAConditionsApi\n * @extends {BaseAPI}\n */\nexport class SLAConditionsApi extends BaseAPI {\n  /**\n   *\n   * @summary Create a new SLACondition\n   * @param {string} slaId\n   * @param {WebitelCasesInputSLACondition} input\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SLAConditionsApi\n   */\n  public createSLACondition(\n    slaId: string,\n    input: WebitelCasesInputSLACondition,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return SLAConditionsApiFp(this.configuration)\n      .createSLACondition(slaId, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Delete an SLACondition\n   * @param {string} slaId\n   * @param {string} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SLAConditionsApi\n   */\n  public deleteSLACondition(slaId: string, id: string, options?: any) {\n    return SLAConditionsApiFp(this.configuration)\n      .deleteSLACondition(slaId, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Retrieve a list of SLAConditions or search SLACondition conditions\n   * @param {string} slaId Filter by SLA Id\n   * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n   * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {string} [sort] Sort the result according to fields.\n   * @param {Array<string>} [id] Filter by unique IDs.\n   * @param {string} [q] Search query string for filtering by name. Supports: - Wildcards (*) for substring matching - Placeholder (?) for single character substitution - Exact match for full names\n   * @param {string} [slaConditionId] Filter by SLACondition Id.\n   * @param {string} [priorityId] filter by priority id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SLAConditionsApi\n   */\n  public listSLAConditions(\n    slaId: string,\n    page?: number,\n    size?: number,\n    fields?: Array<string>,\n    sort?: string,\n    id?: Array<string>,\n    q?: string,\n    slaConditionId?: string,\n    priorityId?: string,\n    options?: any\n  ) {\n    return SLAConditionsApiFp(this.configuration)\n      .listSLAConditions(\n        slaId,\n        page,\n        size,\n        fields,\n        sort,\n        id,\n        q,\n        slaConditionId,\n        priorityId,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Locate an SLACondition by ID\n   * @param {string} slaId Unique identifier of the SLACondition\n   * @param {string} id Unique identifier of the SLACondition\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SLAConditionsApi\n   */\n  public locateSLACondition(\n    slaId: string,\n    id: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return SLAConditionsApiFp(this.configuration)\n      .locateSLACondition(slaId, id, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update an existing SLACondition\n   * @param {string} slaId\n   * @param {string} id\n   * @param {WebitelCasesInputSLACondition} input\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SLAConditionsApi\n   */\n  public updateSLACondition(\n    slaId: string,\n    id: string,\n    input: WebitelCasesInputSLACondition,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return SLAConditionsApiFp(this.configuration)\n      .updateSLACondition(slaId, id, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update an existing SLACondition\n   * @param {string} slaId\n   * @param {string} id\n   * @param {WebitelCasesInputSLACondition} input\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SLAConditionsApi\n   */\n  public updateSLACondition2(\n    slaId: string,\n    id: string,\n    input: WebitelCasesInputSLACondition,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return SLAConditionsApiFp(this.configuration)\n      .updateSLACondition2(slaId, id, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n// @ts-ignore\nimport { WebitelCasesInputSLA } from '../api'\n// @ts-ignore\nimport { WebitelCasesLocateSLAResponse } from '../api'\n// @ts-ignore\nimport { WebitelCasesSLA } from '../api'\n// @ts-ignore\nimport { WebitelCasesSLAList } from '../api'\n/**\n * SLAsApi - axios parameter creator\n * @export\n */\nexport const SLAsApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create a new SLA\n     * @param {WebitelCasesInputSLA} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createSLA: async (\n      input: WebitelCasesInputSLA,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling createSLA.'\n        )\n      }\n      const localVarPath = `/cases/slas`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Delete an SLA\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteSLA: async (id: string, options: any = {}): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteSLA.'\n        )\n      }\n      const localVarPath = `/cases/slas/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Retrieve a list of SLAs or search SLA conditions\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {string} [sort] Sort the result according to fields.\n     * @param {Array<string>} [id] Filter by unique IDs.\n     * @param {string} [q] Search query string for filtering by name. Supports: - Wildcards (*) for substring matching - Placeholder (?) for single character substitution - Exact match for full names\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listSLAs: async (\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: string,\n      id?: Array<string>,\n      q?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/cases/slas`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Locate an SLA by ID\n     * @param {string} id\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateSLA: async (\n      id: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling locateSLA.'\n        )\n      }\n      const localVarPath = `/cases/slas/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update an existing SLA\n     * @param {string} id\n     * @param {WebitelCasesInputSLA} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateSLA: async (\n      id: string,\n      input: WebitelCasesInputSLA,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateSLA.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateSLA.'\n        )\n      }\n      const localVarPath = `/cases/slas/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update an existing SLA\n     * @param {string} id\n     * @param {WebitelCasesInputSLA} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateSLA2: async (\n      id: string,\n      input: WebitelCasesInputSLA,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateSLA2.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateSLA2.'\n        )\n      }\n      const localVarPath = `/cases/slas/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * SLAsApi - functional programming interface\n * @export\n */\nexport const SLAsApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Create a new SLA\n     * @param {WebitelCasesInputSLA} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createSLA(\n      input: WebitelCasesInputSLA,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesSLA>\n    > {\n      const localVarAxiosArgs = await SLAsApiAxiosParamCreator(\n        configuration\n      ).createSLA(input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Delete an SLA\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteSLA(\n      id: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesSLA>\n    > {\n      const localVarAxiosArgs = await SLAsApiAxiosParamCreator(\n        configuration\n      ).deleteSLA(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Retrieve a list of SLAs or search SLA conditions\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {string} [sort] Sort the result according to fields.\n     * @param {Array<string>} [id] Filter by unique IDs.\n     * @param {string} [q] Search query string for filtering by name. Supports: - Wildcards (*) for substring matching - Placeholder (?) for single character substitution - Exact match for full names\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async listSLAs(\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: string,\n      id?: Array<string>,\n      q?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesSLAList>\n    > {\n      const localVarAxiosArgs = await SLAsApiAxiosParamCreator(\n        configuration\n      ).listSLAs(page, size, fields, sort, id, q, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Locate an SLA by ID\n     * @param {string} id\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async locateSLA(\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesLocateSLAResponse>\n    > {\n      const localVarAxiosArgs = await SLAsApiAxiosParamCreator(\n        configuration\n      ).locateSLA(id, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update an existing SLA\n     * @param {string} id\n     * @param {WebitelCasesInputSLA} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateSLA(\n      id: string,\n      input: WebitelCasesInputSLA,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesSLA>\n    > {\n      const localVarAxiosArgs = await SLAsApiAxiosParamCreator(\n        configuration\n      ).updateSLA(id, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update an existing SLA\n     * @param {string} id\n     * @param {WebitelCasesInputSLA} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateSLA2(\n      id: string,\n      input: WebitelCasesInputSLA,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesSLA>\n    > {\n      const localVarAxiosArgs = await SLAsApiAxiosParamCreator(\n        configuration\n      ).updateSLA2(id, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * SLAsApi - factory interface\n * @export\n */\nexport const SLAsApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Create a new SLA\n     * @param {WebitelCasesInputSLA} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createSLA(\n      input: WebitelCasesInputSLA,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesSLA> {\n      return SLAsApiFp(configuration)\n        .createSLA(input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Delete an SLA\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteSLA(id: string, options?: any): AxiosPromise<WebitelCasesSLA> {\n      return SLAsApiFp(configuration)\n        .deleteSLA(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Retrieve a list of SLAs or search SLA conditions\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {string} [sort] Sort the result according to fields.\n     * @param {Array<string>} [id] Filter by unique IDs.\n     * @param {string} [q] Search query string for filtering by name. Supports: - Wildcards (*) for substring matching - Placeholder (?) for single character substitution - Exact match for full names\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listSLAs(\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: string,\n      id?: Array<string>,\n      q?: string,\n      options?: any\n    ): AxiosPromise<WebitelCasesSLAList> {\n      return SLAsApiFp(configuration)\n        .listSLAs(page, size, fields, sort, id, q, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Locate an SLA by ID\n     * @param {string} id\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateSLA(\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesLocateSLAResponse> {\n      return SLAsApiFp(configuration)\n        .locateSLA(id, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update an existing SLA\n     * @param {string} id\n     * @param {WebitelCasesInputSLA} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateSLA(\n      id: string,\n      input: WebitelCasesInputSLA,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesSLA> {\n      return SLAsApiFp(configuration)\n        .updateSLA(id, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update an existing SLA\n     * @param {string} id\n     * @param {WebitelCasesInputSLA} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateSLA2(\n      id: string,\n      input: WebitelCasesInputSLA,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesSLA> {\n      return SLAsApiFp(configuration)\n        .updateSLA2(id, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * SLAsApi - object-oriented interface\n * @export\n * @class SLAsApi\n * @extends {BaseAPI}\n */\nexport class SLAsApi extends BaseAPI {\n  /**\n   *\n   * @summary Create a new SLA\n   * @param {WebitelCasesInputSLA} input\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SLAsApi\n   */\n  public createSLA(\n    input: WebitelCasesInputSLA,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return SLAsApiFp(this.configuration)\n      .createSLA(input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Delete an SLA\n   * @param {string} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SLAsApi\n   */\n  public deleteSLA(id: string, options?: any) {\n    return SLAsApiFp(this.configuration)\n      .deleteSLA(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Retrieve a list of SLAs or search SLA conditions\n   * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n   * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {string} [sort] Sort the result according to fields.\n   * @param {Array<string>} [id] Filter by unique IDs.\n   * @param {string} [q] Search query string for filtering by name. Supports: - Wildcards (*) for substring matching - Placeholder (?) for single character substitution - Exact match for full names\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SLAsApi\n   */\n  public listSLAs(\n    page?: number,\n    size?: number,\n    fields?: Array<string>,\n    sort?: string,\n    id?: Array<string>,\n    q?: string,\n    options?: any\n  ) {\n    return SLAsApiFp(this.configuration)\n      .listSLAs(page, size, fields, sort, id, q, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Locate an SLA by ID\n   * @param {string} id\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SLAsApi\n   */\n  public locateSLA(id: string, fields?: Array<string>, options?: any) {\n    return SLAsApiFp(this.configuration)\n      .locateSLA(id, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update an existing SLA\n   * @param {string} id\n   * @param {WebitelCasesInputSLA} input\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SLAsApi\n   */\n  public updateSLA(\n    id: string,\n    input: WebitelCasesInputSLA,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return SLAsApiFp(this.configuration)\n      .updateSLA(id, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update an existing SLA\n   * @param {string} id\n   * @param {WebitelCasesInputSLA} input\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SLAsApi\n   */\n  public updateSLA2(\n    id: string,\n    input: WebitelCasesInputSLA,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return SLAsApiFp(this.configuration)\n      .updateSLA2(id, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { EngineCreateSchemaVariableRequest } from '../api'\n// @ts-ignore\nimport { EngineListSchemaVariable } from '../api'\n// @ts-ignore\nimport { EngineSchemaVariable } from '../api'\n// @ts-ignore\nimport { EngineSchemaVariablesServicePatchSchemaVariableBody } from '../api'\n// @ts-ignore\nimport { EngineSchemaVariablesServiceUpdateSchemaVariableBody } from '../api'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n/**\n * SchemaVariablesServiceApi - axios parameter creator\n * @export\n */\nexport const SchemaVariablesServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {EngineCreateSchemaVariableRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createSchemaVariable: async (\n      body: EngineCreateSchemaVariableRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createSchemaVariable.'\n        )\n      }\n      const localVarPath = `/routing/schema/variables`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteSchemaVariable: async (\n      id: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteSchemaVariable.'\n        )\n      }\n      const localVarPath = `/routing/schema/variables/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineSchemaVariablesServicePatchSchemaVariableBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchSchemaVariable: async (\n      id: number,\n      body: EngineSchemaVariablesServicePatchSchemaVariableBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling patchSchemaVariable.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling patchSchemaVariable.'\n        )\n      }\n      const localVarPath = `/routing/schema/variables/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readSchemaVariable: async (\n      id: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readSchemaVariable.'\n        )\n      }\n      const localVarPath = `/routing/schema/variables/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchSchemaVariable: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/routing/schema/variables`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineSchemaVariablesServiceUpdateSchemaVariableBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateSchemaVariable: async (\n      id: number,\n      body: EngineSchemaVariablesServiceUpdateSchemaVariableBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateSchemaVariable.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateSchemaVariable.'\n        )\n      }\n      const localVarPath = `/routing/schema/variables/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * SchemaVariablesServiceApi - functional programming interface\n * @export\n */\nexport const SchemaVariablesServiceApiFp = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {EngineCreateSchemaVariableRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createSchemaVariable(\n      body: EngineCreateSchemaVariableRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineSchemaVariable>\n    > {\n      const localVarAxiosArgs = await SchemaVariablesServiceApiAxiosParamCreator(\n        configuration\n      ).createSchemaVariable(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteSchemaVariable(\n      id: number,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineSchemaVariable>\n    > {\n      const localVarAxiosArgs = await SchemaVariablesServiceApiAxiosParamCreator(\n        configuration\n      ).deleteSchemaVariable(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineSchemaVariablesServicePatchSchemaVariableBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async patchSchemaVariable(\n      id: number,\n      body: EngineSchemaVariablesServicePatchSchemaVariableBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineSchemaVariable>\n    > {\n      const localVarAxiosArgs = await SchemaVariablesServiceApiAxiosParamCreator(\n        configuration\n      ).patchSchemaVariable(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readSchemaVariable(\n      id: number,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineSchemaVariable>\n    > {\n      const localVarAxiosArgs = await SchemaVariablesServiceApiAxiosParamCreator(\n        configuration\n      ).readSchemaVariable(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchSchemaVariable(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListSchemaVariable>\n    > {\n      const localVarAxiosArgs = await SchemaVariablesServiceApiAxiosParamCreator(\n        configuration\n      ).searchSchemaVariable(page, size, q, sort, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineSchemaVariablesServiceUpdateSchemaVariableBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateSchemaVariable(\n      id: number,\n      body: EngineSchemaVariablesServiceUpdateSchemaVariableBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineSchemaVariable>\n    > {\n      const localVarAxiosArgs = await SchemaVariablesServiceApiAxiosParamCreator(\n        configuration\n      ).updateSchemaVariable(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * SchemaVariablesServiceApi - factory interface\n * @export\n */\nexport const SchemaVariablesServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {EngineCreateSchemaVariableRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createSchemaVariable(\n      body: EngineCreateSchemaVariableRequest,\n      options?: any\n    ): AxiosPromise<EngineSchemaVariable> {\n      return SchemaVariablesServiceApiFp(configuration)\n        .createSchemaVariable(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteSchemaVariable(\n      id: number,\n      options?: any\n    ): AxiosPromise<EngineSchemaVariable> {\n      return SchemaVariablesServiceApiFp(configuration)\n        .deleteSchemaVariable(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineSchemaVariablesServicePatchSchemaVariableBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchSchemaVariable(\n      id: number,\n      body: EngineSchemaVariablesServicePatchSchemaVariableBody,\n      options?: any\n    ): AxiosPromise<EngineSchemaVariable> {\n      return SchemaVariablesServiceApiFp(configuration)\n        .patchSchemaVariable(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readSchemaVariable(\n      id: number,\n      options?: any\n    ): AxiosPromise<EngineSchemaVariable> {\n      return SchemaVariablesServiceApiFp(configuration)\n        .readSchemaVariable(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchSchemaVariable(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<EngineListSchemaVariable> {\n      return SchemaVariablesServiceApiFp(configuration)\n        .searchSchemaVariable(page, size, q, sort, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineSchemaVariablesServiceUpdateSchemaVariableBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateSchemaVariable(\n      id: number,\n      body: EngineSchemaVariablesServiceUpdateSchemaVariableBody,\n      options?: any\n    ): AxiosPromise<EngineSchemaVariable> {\n      return SchemaVariablesServiceApiFp(configuration)\n        .updateSchemaVariable(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * SchemaVariablesServiceApi - object-oriented interface\n * @export\n * @class SchemaVariablesServiceApi\n * @extends {BaseAPI}\n */\nexport class SchemaVariablesServiceApi extends BaseAPI {\n  /**\n   *\n   * @param {EngineCreateSchemaVariableRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SchemaVariablesServiceApi\n   */\n  public createSchemaVariable(\n    body: EngineCreateSchemaVariableRequest,\n    options?: any\n  ) {\n    return SchemaVariablesServiceApiFp(this.configuration)\n      .createSchemaVariable(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SchemaVariablesServiceApi\n   */\n  public deleteSchemaVariable(id: number, options?: any) {\n    return SchemaVariablesServiceApiFp(this.configuration)\n      .deleteSchemaVariable(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} id\n   * @param {EngineSchemaVariablesServicePatchSchemaVariableBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SchemaVariablesServiceApi\n   */\n  public patchSchemaVariable(\n    id: number,\n    body: EngineSchemaVariablesServicePatchSchemaVariableBody,\n    options?: any\n  ) {\n    return SchemaVariablesServiceApiFp(this.configuration)\n      .patchSchemaVariable(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SchemaVariablesServiceApi\n   */\n  public readSchemaVariable(id: number, options?: any) {\n    return SchemaVariablesServiceApiFp(this.configuration)\n      .readSchemaVariable(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SchemaVariablesServiceApi\n   */\n  public searchSchemaVariable(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return SchemaVariablesServiceApiFp(this.configuration)\n      .searchSchemaVariable(page, size, q, sort, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} id\n   * @param {EngineSchemaVariablesServiceUpdateSchemaVariableBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SchemaVariablesServiceApi\n   */\n  public updateSchemaVariable(\n    id: number,\n    body: EngineSchemaVariablesServiceUpdateSchemaVariableBody,\n    options?: any\n  ) {\n    return SchemaVariablesServiceApiFp(this.configuration)\n      .updateSchemaVariable(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { EngineSearchSchemaVersionResponse } from '../api'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n/**\n * SchemaVersionServiceApi - axios parameter creator\n * @export\n */\nexport const SchemaVersionServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {string} schemaId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchSchemaVersion: async (\n      schemaId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'schemaId' is not null or undefined\n      if (schemaId === null || schemaId === undefined) {\n        throw new RequiredError(\n          'schemaId',\n          'Required parameter schemaId was null or undefined when calling searchSchemaVersion.'\n        )\n      }\n      const localVarPath = `/routing/schema/{schema_id}/versions`.replace(\n        `{${'schema_id'}}`,\n        encodeURIComponent(String(schemaId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * SchemaVersionServiceApi - functional programming interface\n * @export\n */\nexport const SchemaVersionServiceApiFp = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {string} schemaId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchSchemaVersion(\n      schemaId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineSearchSchemaVersionResponse>\n    > {\n      const localVarAxiosArgs = await SchemaVersionServiceApiAxiosParamCreator(\n        configuration\n      ).searchSchemaVersion(schemaId, page, size, q, sort, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * SchemaVersionServiceApi - factory interface\n * @export\n */\nexport const SchemaVersionServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {string} schemaId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchSchemaVersion(\n      schemaId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<EngineSearchSchemaVersionResponse> {\n      return SchemaVersionServiceApiFp(configuration)\n        .searchSchemaVersion(schemaId, page, size, q, sort, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * SchemaVersionServiceApi - object-oriented interface\n * @export\n * @class SchemaVersionServiceApi\n * @extends {BaseAPI}\n */\nexport class SchemaVersionServiceApi extends BaseAPI {\n  /**\n   *\n   * @param {string} schemaId\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SchemaVersionServiceApi\n   */\n  public searchSchemaVersion(\n    schemaId: string,\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return SchemaVersionServiceApiFp(this.configuration)\n      .searchSchemaVersion(schemaId, page, size, q, sort, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n// @ts-ignore\nimport { WebitelCasesInputCreateService } from '../api'\n// @ts-ignore\nimport { WebitelCasesInputService } from '../api'\n// @ts-ignore\nimport { WebitelCasesLocateServiceResponse } from '../api'\n// @ts-ignore\nimport { WebitelCasesService } from '../api'\n// @ts-ignore\nimport { WebitelCasesServiceList } from '../api'\n/**\n * ServicesApi - axios parameter creator\n * @export\n */\nexport const ServicesApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create a new service within a catalog\n     * @param {WebitelCasesInputCreateService} input\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createService: async (\n      input: WebitelCasesInputCreateService,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling createService.'\n        )\n      }\n      const localVarPath = `/cases/services`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Delete a service\n     * @param {Array<string>} id ID of the service to be deleted\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteService: async (\n      id: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteService.'\n        )\n      }\n      const localVarPath = `/cases/services/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Retrieve a list of services or search services within a catalog\n     * @param {number} [page] Page number for pagination\n     * @param {number} [size] Number of records per page\n     * @param {string} [sort] Sorting options by fields\n     * @param {Array<string>} [id] List of IDs to filter the services\n     * @param {string} [q] Search query string for filtering by name. Supports: - Wildcards (*) for substring matching - Placeholder (?) for single character substitution - Exact match for full names\n     * @param {string} [rootId] Filter services by catalog ID (required)\n     * @param {boolean} [state] Filter by state (true for active, false for inactive)\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listServices: async (\n      page?: number,\n      size?: number,\n      sort?: string,\n      id?: Array<string>,\n      q?: string,\n      rootId?: string,\n      state?: boolean,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/cases/services`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (rootId !== undefined) {\n        localVarQueryParameter['root_id'] = rootId\n      }\n\n      if (state !== undefined) {\n        localVarQueryParameter['state'] = state\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Locate a service by ID\n     * @param {string} id ID of the service to be located\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateService: async (\n      id: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling locateService.'\n        )\n      }\n      const localVarPath = `/cases/services/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update an existing service\n     * @param {string} id ID of the service to be updated\n     * @param {WebitelCasesInputService} input Input data for updating the service\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateService: async (\n      id: string,\n      input: WebitelCasesInputService,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateService.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateService.'\n        )\n      }\n      const localVarPath = `/cases/services/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update an existing service\n     * @param {string} id ID of the service to be updated\n     * @param {WebitelCasesInputService} input Input data for updating the service\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateService2: async (\n      id: string,\n      input: WebitelCasesInputService,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateService2.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateService2.'\n        )\n      }\n      const localVarPath = `/cases/services/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * ServicesApi - functional programming interface\n * @export\n */\nexport const ServicesApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Create a new service within a catalog\n     * @param {WebitelCasesInputCreateService} input\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createService(\n      input: WebitelCasesInputCreateService,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesService>\n    > {\n      const localVarAxiosArgs = await ServicesApiAxiosParamCreator(\n        configuration\n      ).createService(input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Delete a service\n     * @param {Array<string>} id ID of the service to be deleted\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteService(\n      id: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesServiceList>\n    > {\n      const localVarAxiosArgs = await ServicesApiAxiosParamCreator(\n        configuration\n      ).deleteService(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Retrieve a list of services or search services within a catalog\n     * @param {number} [page] Page number for pagination\n     * @param {number} [size] Number of records per page\n     * @param {string} [sort] Sorting options by fields\n     * @param {Array<string>} [id] List of IDs to filter the services\n     * @param {string} [q] Search query string for filtering by name. Supports: - Wildcards (*) for substring matching - Placeholder (?) for single character substitution - Exact match for full names\n     * @param {string} [rootId] Filter services by catalog ID (required)\n     * @param {boolean} [state] Filter by state (true for active, false for inactive)\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async listServices(\n      page?: number,\n      size?: number,\n      sort?: string,\n      id?: Array<string>,\n      q?: string,\n      rootId?: string,\n      state?: boolean,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesServiceList>\n    > {\n      const localVarAxiosArgs = await ServicesApiAxiosParamCreator(\n        configuration\n      ).listServices(page, size, sort, id, q, rootId, state, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Locate a service by ID\n     * @param {string} id ID of the service to be located\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async locateService(\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesLocateServiceResponse>\n    > {\n      const localVarAxiosArgs = await ServicesApiAxiosParamCreator(\n        configuration\n      ).locateService(id, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update an existing service\n     * @param {string} id ID of the service to be updated\n     * @param {WebitelCasesInputService} input Input data for updating the service\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateService(\n      id: string,\n      input: WebitelCasesInputService,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesService>\n    > {\n      const localVarAxiosArgs = await ServicesApiAxiosParamCreator(\n        configuration\n      ).updateService(id, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update an existing service\n     * @param {string} id ID of the service to be updated\n     * @param {WebitelCasesInputService} input Input data for updating the service\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateService2(\n      id: string,\n      input: WebitelCasesInputService,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesService>\n    > {\n      const localVarAxiosArgs = await ServicesApiAxiosParamCreator(\n        configuration\n      ).updateService2(id, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * ServicesApi - factory interface\n * @export\n */\nexport const ServicesApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Create a new service within a catalog\n     * @param {WebitelCasesInputCreateService} input\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createService(\n      input: WebitelCasesInputCreateService,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesService> {\n      return ServicesApiFp(configuration)\n        .createService(input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Delete a service\n     * @param {Array<string>} id ID of the service to be deleted\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteService(\n      id: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesServiceList> {\n      return ServicesApiFp(configuration)\n        .deleteService(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Retrieve a list of services or search services within a catalog\n     * @param {number} [page] Page number for pagination\n     * @param {number} [size] Number of records per page\n     * @param {string} [sort] Sorting options by fields\n     * @param {Array<string>} [id] List of IDs to filter the services\n     * @param {string} [q] Search query string for filtering by name. Supports: - Wildcards (*) for substring matching - Placeholder (?) for single character substitution - Exact match for full names\n     * @param {string} [rootId] Filter services by catalog ID (required)\n     * @param {boolean} [state] Filter by state (true for active, false for inactive)\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listServices(\n      page?: number,\n      size?: number,\n      sort?: string,\n      id?: Array<string>,\n      q?: string,\n      rootId?: string,\n      state?: boolean,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesServiceList> {\n      return ServicesApiFp(configuration)\n        .listServices(page, size, sort, id, q, rootId, state, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Locate a service by ID\n     * @param {string} id ID of the service to be located\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateService(\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesLocateServiceResponse> {\n      return ServicesApiFp(configuration)\n        .locateService(id, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update an existing service\n     * @param {string} id ID of the service to be updated\n     * @param {WebitelCasesInputService} input Input data for updating the service\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateService(\n      id: string,\n      input: WebitelCasesInputService,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesService> {\n      return ServicesApiFp(configuration)\n        .updateService(id, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update an existing service\n     * @param {string} id ID of the service to be updated\n     * @param {WebitelCasesInputService} input Input data for updating the service\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateService2(\n      id: string,\n      input: WebitelCasesInputService,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesService> {\n      return ServicesApiFp(configuration)\n        .updateService2(id, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * ServicesApi - object-oriented interface\n * @export\n * @class ServicesApi\n * @extends {BaseAPI}\n */\nexport class ServicesApi extends BaseAPI {\n  /**\n   *\n   * @summary Create a new service within a catalog\n   * @param {WebitelCasesInputCreateService} input\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ServicesApi\n   */\n  public createService(\n    input: WebitelCasesInputCreateService,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return ServicesApiFp(this.configuration)\n      .createService(input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Delete a service\n   * @param {Array<string>} id ID of the service to be deleted\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ServicesApi\n   */\n  public deleteService(id: Array<string>, options?: any) {\n    return ServicesApiFp(this.configuration)\n      .deleteService(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Retrieve a list of services or search services within a catalog\n   * @param {number} [page] Page number for pagination\n   * @param {number} [size] Number of records per page\n   * @param {string} [sort] Sorting options by fields\n   * @param {Array<string>} [id] List of IDs to filter the services\n   * @param {string} [q] Search query string for filtering by name. Supports: - Wildcards (*) for substring matching - Placeholder (?) for single character substitution - Exact match for full names\n   * @param {string} [rootId] Filter services by catalog ID (required)\n   * @param {boolean} [state] Filter by state (true for active, false for inactive)\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ServicesApi\n   */\n  public listServices(\n    page?: number,\n    size?: number,\n    sort?: string,\n    id?: Array<string>,\n    q?: string,\n    rootId?: string,\n    state?: boolean,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return ServicesApiFp(this.configuration)\n      .listServices(page, size, sort, id, q, rootId, state, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Locate a service by ID\n   * @param {string} id ID of the service to be located\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ServicesApi\n   */\n  public locateService(id: string, fields?: Array<string>, options?: any) {\n    return ServicesApiFp(this.configuration)\n      .locateService(id, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update an existing service\n   * @param {string} id ID of the service to be updated\n   * @param {WebitelCasesInputService} input Input data for updating the service\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ServicesApi\n   */\n  public updateService(\n    id: string,\n    input: WebitelCasesInputService,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return ServicesApiFp(this.configuration)\n      .updateService(id, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update an existing service\n   * @param {string} id ID of the service to be updated\n   * @param {WebitelCasesInputService} input Input data for updating the service\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ServicesApi\n   */\n  public updateService2(\n    id: string,\n    input: WebitelCasesInputService,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return ServicesApiFp(this.configuration)\n      .updateService2(id, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { InlineObject9 } from '../api'\n// @ts-ignore\nimport { WfmCreateShiftTemplateRequest } from '../api'\n// @ts-ignore\nimport { WfmCreateShiftTemplateResponse } from '../api'\n// @ts-ignore\nimport { WfmDeleteShiftTemplateResponse } from '../api'\n// @ts-ignore\nimport { WfmReadShiftTemplateResponse } from '../api'\n// @ts-ignore\nimport { WfmSearchShiftTemplateResponse } from '../api'\n// @ts-ignore\nimport { WfmUpdateShiftTemplateResponse } from '../api'\n/**\n * ShiftTemplateServiceApi - axios parameter creator\n * @export\n */\nexport const ShiftTemplateServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {WfmCreateShiftTemplateRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createShiftTemplate: async (\n      body: WfmCreateShiftTemplateRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createShiftTemplate.'\n        )\n      }\n      const localVarPath = `/wfm/lookups/shift_templates`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteShiftTemplate: async (\n      id: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteShiftTemplate.'\n        )\n      }\n      const localVarPath = `/wfm/lookups/shift_templates/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readShiftTemplate: async (\n      id: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readShiftTemplate.'\n        )\n      }\n      const localVarPath = `/wfm/lookups/shift_templates/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} [q]\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchShiftTemplate: async (\n      q?: string,\n      page?: number,\n      size?: number,\n      sort?: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/wfm/lookups/shift_templates`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary UpdateShiftTemplate updates a shift template with a list times. Update existing time, create that not exists in database and delete that not exists in the list.\n     * @param {string} itemId\n     * @param {InlineObject9} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateShiftTemplate: async (\n      itemId: string,\n      body: InlineObject9,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'itemId' is not null or undefined\n      if (itemId === null || itemId === undefined) {\n        throw new RequiredError(\n          'itemId',\n          'Required parameter itemId was null or undefined when calling updateShiftTemplate.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateShiftTemplate.'\n        )\n      }\n      const localVarPath = `/wfm/lookups/shift_templates/{item.id}`.replace(\n        `{${'item.id'}}`,\n        encodeURIComponent(String(itemId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * ShiftTemplateServiceApi - functional programming interface\n * @export\n */\nexport const ShiftTemplateServiceApiFp = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {WfmCreateShiftTemplateRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createShiftTemplate(\n      body: WfmCreateShiftTemplateRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmCreateShiftTemplateResponse>\n    > {\n      const localVarAxiosArgs = await ShiftTemplateServiceApiAxiosParamCreator(\n        configuration\n      ).createShiftTemplate(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteShiftTemplate(\n      id: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmDeleteShiftTemplateResponse>\n    > {\n      const localVarAxiosArgs = await ShiftTemplateServiceApiAxiosParamCreator(\n        configuration\n      ).deleteShiftTemplate(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readShiftTemplate(\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmReadShiftTemplateResponse>\n    > {\n      const localVarAxiosArgs = await ShiftTemplateServiceApiAxiosParamCreator(\n        configuration\n      ).readShiftTemplate(id, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} [q]\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchShiftTemplate(\n      q?: string,\n      page?: number,\n      size?: number,\n      sort?: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmSearchShiftTemplateResponse>\n    > {\n      const localVarAxiosArgs = await ShiftTemplateServiceApiAxiosParamCreator(\n        configuration\n      ).searchShiftTemplate(q, page, size, sort, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary UpdateShiftTemplate updates a shift template with a list times. Update existing time, create that not exists in database and delete that not exists in the list.\n     * @param {string} itemId\n     * @param {InlineObject9} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateShiftTemplate(\n      itemId: string,\n      body: InlineObject9,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmUpdateShiftTemplateResponse>\n    > {\n      const localVarAxiosArgs = await ShiftTemplateServiceApiAxiosParamCreator(\n        configuration\n      ).updateShiftTemplate(itemId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * ShiftTemplateServiceApi - factory interface\n * @export\n */\nexport const ShiftTemplateServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {WfmCreateShiftTemplateRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createShiftTemplate(\n      body: WfmCreateShiftTemplateRequest,\n      options?: any\n    ): AxiosPromise<WfmCreateShiftTemplateResponse> {\n      return ShiftTemplateServiceApiFp(configuration)\n        .createShiftTemplate(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteShiftTemplate(\n      id: string,\n      options?: any\n    ): AxiosPromise<WfmDeleteShiftTemplateResponse> {\n      return ShiftTemplateServiceApiFp(configuration)\n        .deleteShiftTemplate(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readShiftTemplate(\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WfmReadShiftTemplateResponse> {\n      return ShiftTemplateServiceApiFp(configuration)\n        .readShiftTemplate(id, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} [q]\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchShiftTemplate(\n      q?: string,\n      page?: number,\n      size?: number,\n      sort?: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WfmSearchShiftTemplateResponse> {\n      return ShiftTemplateServiceApiFp(configuration)\n        .searchShiftTemplate(q, page, size, sort, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary UpdateShiftTemplate updates a shift template with a list times. Update existing time, create that not exists in database and delete that not exists in the list.\n     * @param {string} itemId\n     * @param {InlineObject9} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateShiftTemplate(\n      itemId: string,\n      body: InlineObject9,\n      options?: any\n    ): AxiosPromise<WfmUpdateShiftTemplateResponse> {\n      return ShiftTemplateServiceApiFp(configuration)\n        .updateShiftTemplate(itemId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * ShiftTemplateServiceApi - object-oriented interface\n * @export\n * @class ShiftTemplateServiceApi\n * @extends {BaseAPI}\n */\nexport class ShiftTemplateServiceApi extends BaseAPI {\n  /**\n   *\n   * @param {WfmCreateShiftTemplateRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ShiftTemplateServiceApi\n   */\n  public createShiftTemplate(\n    body: WfmCreateShiftTemplateRequest,\n    options?: any\n  ) {\n    return ShiftTemplateServiceApiFp(this.configuration)\n      .createShiftTemplate(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ShiftTemplateServiceApi\n   */\n  public deleteShiftTemplate(id: string, options?: any) {\n    return ShiftTemplateServiceApiFp(this.configuration)\n      .deleteShiftTemplate(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ShiftTemplateServiceApi\n   */\n  public readShiftTemplate(id: string, fields?: Array<string>, options?: any) {\n    return ShiftTemplateServiceApiFp(this.configuration)\n      .readShiftTemplate(id, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} [q]\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ShiftTemplateServiceApi\n   */\n  public searchShiftTemplate(\n    q?: string,\n    page?: number,\n    size?: number,\n    sort?: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return ShiftTemplateServiceApiFp(this.configuration)\n      .searchShiftTemplate(q, page, size, sort, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary UpdateShiftTemplate updates a shift template with a list times. Update existing time, create that not exists in database and delete that not exists in the list.\n   * @param {string} itemId\n   * @param {InlineObject9} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof ShiftTemplateServiceApi\n   */\n  public updateShiftTemplate(\n    itemId: string,\n    body: InlineObject9,\n    options?: any\n  ) {\n    return ShiftTemplateServiceApiFp(this.configuration)\n      .updateShiftTemplate(itemId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { EngineCreateSkillAgentResponse } from '../api'\n// @ts-ignore\nimport { EngineCreateSkillRequest } from '../api'\n// @ts-ignore\nimport { EngineDeleteSkillAgentResponse } from '../api'\n// @ts-ignore\nimport { EngineListSkill } from '../api'\n// @ts-ignore\nimport { EngineListSkillAgent } from '../api'\n// @ts-ignore\nimport { EnginePatchSkillAgentResponse } from '../api'\n// @ts-ignore\nimport { EngineSkill } from '../api'\n// @ts-ignore\nimport { EngineSkillServiceCreateSkillAgentBody } from '../api'\n// @ts-ignore\nimport { EngineSkillServiceDeleteSkillAgentBody } from '../api'\n// @ts-ignore\nimport { EngineSkillServicePatchSkillAgentBody } from '../api'\n// @ts-ignore\nimport { EngineSkillServiceUpdateSkillBody } from '../api'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n/**\n * SkillServiceApi - axios parameter creator\n * @export\n */\nexport const SkillServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create Skill\n     * @param {EngineCreateSkillRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createSkill: async (\n      body: EngineCreateSkillRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createSkill.'\n        )\n      }\n      const localVarPath = `/call_center/skills`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} skillId\n     * @param {EngineSkillServiceCreateSkillAgentBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createSkillAgent: async (\n      skillId: string,\n      body: EngineSkillServiceCreateSkillAgentBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'skillId' is not null or undefined\n      if (skillId === null || skillId === undefined) {\n        throw new RequiredError(\n          'skillId',\n          'Required parameter skillId was null or undefined when calling createSkillAgent.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createSkillAgent.'\n        )\n      }\n      const localVarPath = `/call_center/skills/{skill_id}/agents`.replace(\n        `{${'skill_id'}}`,\n        encodeURIComponent(String(skillId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Remove Skill\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteSkill: async (\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteSkill.'\n        )\n      }\n      const localVarPath = `/call_center/skills/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} skillId\n     * @param {EngineSkillServiceDeleteSkillAgentBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteSkillAgent: async (\n      skillId: string,\n      body: EngineSkillServiceDeleteSkillAgentBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'skillId' is not null or undefined\n      if (skillId === null || skillId === undefined) {\n        throw new RequiredError(\n          'skillId',\n          'Required parameter skillId was null or undefined when calling deleteSkillAgent.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling deleteSkillAgent.'\n        )\n      }\n      const localVarPath = `/call_center/skills/{skill_id}/agents`.replace(\n        `{${'skill_id'}}`,\n        encodeURIComponent(String(skillId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} skillId\n     * @param {EngineSkillServicePatchSkillAgentBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchSkillAgent: async (\n      skillId: string,\n      body: EngineSkillServicePatchSkillAgentBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'skillId' is not null or undefined\n      if (skillId === null || skillId === undefined) {\n        throw new RequiredError(\n          'skillId',\n          'Required parameter skillId was null or undefined when calling patchSkillAgent.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling patchSkillAgent.'\n        )\n      }\n      const localVarPath = `/call_center/skills/{skill_id}/agents`.replace(\n        `{${'skill_id'}}`,\n        encodeURIComponent(String(skillId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Skill item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readSkill: async (\n      id: string,\n      domainId?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readSkill.'\n        )\n      }\n      const localVarPath = `/call_center/skills/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (domainId !== undefined) {\n        localVarQueryParameter['domain_id'] = domainId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary List of Skill\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchSkill: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/call_center/skills`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary For agents SearchSkillAgent\n     * @param {string} skillId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [id]\n     * @param {Array<string>} [agentId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchSkillAgent: async (\n      skillId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<string>,\n      agentId?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'skillId' is not null or undefined\n      if (skillId === null || skillId === undefined) {\n        throw new RequiredError(\n          'skillId',\n          'Required parameter skillId was null or undefined when calling searchSkillAgent.'\n        )\n      }\n      const localVarPath = `/call_center/skills/{skill_id}/agents`.replace(\n        `{${'skill_id'}}`,\n        encodeURIComponent(String(skillId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (agentId) {\n        localVarQueryParameter['agent_id'] = agentId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update Skill\n     * @param {string} id\n     * @param {EngineSkillServiceUpdateSkillBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateSkill: async (\n      id: string,\n      body: EngineSkillServiceUpdateSkillBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateSkill.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateSkill.'\n        )\n      }\n      const localVarPath = `/call_center/skills/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * SkillServiceApi - functional programming interface\n * @export\n */\nexport const SkillServiceApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Create Skill\n     * @param {EngineCreateSkillRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createSkill(\n      body: EngineCreateSkillRequest,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineSkill>\n    > {\n      const localVarAxiosArgs = await SkillServiceApiAxiosParamCreator(\n        configuration\n      ).createSkill(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} skillId\n     * @param {EngineSkillServiceCreateSkillAgentBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createSkillAgent(\n      skillId: string,\n      body: EngineSkillServiceCreateSkillAgentBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineCreateSkillAgentResponse>\n    > {\n      const localVarAxiosArgs = await SkillServiceApiAxiosParamCreator(\n        configuration\n      ).createSkillAgent(skillId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Remove Skill\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteSkill(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineSkill>\n    > {\n      const localVarAxiosArgs = await SkillServiceApiAxiosParamCreator(\n        configuration\n      ).deleteSkill(id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} skillId\n     * @param {EngineSkillServiceDeleteSkillAgentBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteSkillAgent(\n      skillId: string,\n      body: EngineSkillServiceDeleteSkillAgentBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineDeleteSkillAgentResponse>\n    > {\n      const localVarAxiosArgs = await SkillServiceApiAxiosParamCreator(\n        configuration\n      ).deleteSkillAgent(skillId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} skillId\n     * @param {EngineSkillServicePatchSkillAgentBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async patchSkillAgent(\n      skillId: string,\n      body: EngineSkillServicePatchSkillAgentBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EnginePatchSkillAgentResponse>\n    > {\n      const localVarAxiosArgs = await SkillServiceApiAxiosParamCreator(\n        configuration\n      ).patchSkillAgent(skillId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Skill item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readSkill(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineSkill>\n    > {\n      const localVarAxiosArgs = await SkillServiceApiAxiosParamCreator(\n        configuration\n      ).readSkill(id, domainId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary List of Skill\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchSkill(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListSkill>\n    > {\n      const localVarAxiosArgs = await SkillServiceApiAxiosParamCreator(\n        configuration\n      ).searchSkill(page, size, q, sort, fields, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary For agents SearchSkillAgent\n     * @param {string} skillId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [id]\n     * @param {Array<string>} [agentId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchSkillAgent(\n      skillId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<string>,\n      agentId?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListSkillAgent>\n    > {\n      const localVarAxiosArgs = await SkillServiceApiAxiosParamCreator(\n        configuration\n      ).searchSkillAgent(\n        skillId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        agentId,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update Skill\n     * @param {string} id\n     * @param {EngineSkillServiceUpdateSkillBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateSkill(\n      id: string,\n      body: EngineSkillServiceUpdateSkillBody,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineSkill>\n    > {\n      const localVarAxiosArgs = await SkillServiceApiAxiosParamCreator(\n        configuration\n      ).updateSkill(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * SkillServiceApi - factory interface\n * @export\n */\nexport const SkillServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Create Skill\n     * @param {EngineCreateSkillRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createSkill(\n      body: EngineCreateSkillRequest,\n      options?: any\n    ): AxiosPromise<EngineSkill> {\n      return SkillServiceApiFp(configuration)\n        .createSkill(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} skillId\n     * @param {EngineSkillServiceCreateSkillAgentBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createSkillAgent(\n      skillId: string,\n      body: EngineSkillServiceCreateSkillAgentBody,\n      options?: any\n    ): AxiosPromise<EngineCreateSkillAgentResponse> {\n      return SkillServiceApiFp(configuration)\n        .createSkillAgent(skillId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Remove Skill\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteSkill(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineSkill> {\n      return SkillServiceApiFp(configuration)\n        .deleteSkill(id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} skillId\n     * @param {EngineSkillServiceDeleteSkillAgentBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteSkillAgent(\n      skillId: string,\n      body: EngineSkillServiceDeleteSkillAgentBody,\n      options?: any\n    ): AxiosPromise<EngineDeleteSkillAgentResponse> {\n      return SkillServiceApiFp(configuration)\n        .deleteSkillAgent(skillId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} skillId\n     * @param {EngineSkillServicePatchSkillAgentBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchSkillAgent(\n      skillId: string,\n      body: EngineSkillServicePatchSkillAgentBody,\n      options?: any\n    ): AxiosPromise<EnginePatchSkillAgentResponse> {\n      return SkillServiceApiFp(configuration)\n        .patchSkillAgent(skillId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Skill item\n     * @param {string} id\n     * @param {string} [domainId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readSkill(\n      id: string,\n      domainId?: string,\n      options?: any\n    ): AxiosPromise<EngineSkill> {\n      return SkillServiceApiFp(configuration)\n        .readSkill(id, domainId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary List of Skill\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchSkill(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options?: any\n    ): AxiosPromise<EngineListSkill> {\n      return SkillServiceApiFp(configuration)\n        .searchSkill(page, size, q, sort, fields, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary For agents SearchSkillAgent\n     * @param {string} skillId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [id]\n     * @param {Array<string>} [agentId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchSkillAgent(\n      skillId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<string>,\n      agentId?: Array<string>,\n      options?: any\n    ): AxiosPromise<EngineListSkillAgent> {\n      return SkillServiceApiFp(configuration)\n        .searchSkillAgent(\n          skillId,\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          id,\n          agentId,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update Skill\n     * @param {string} id\n     * @param {EngineSkillServiceUpdateSkillBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateSkill(\n      id: string,\n      body: EngineSkillServiceUpdateSkillBody,\n      options?: any\n    ): AxiosPromise<EngineSkill> {\n      return SkillServiceApiFp(configuration)\n        .updateSkill(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * SkillServiceApi - object-oriented interface\n * @export\n * @class SkillServiceApi\n * @extends {BaseAPI}\n */\nexport class SkillServiceApi extends BaseAPI {\n  /**\n   *\n   * @summary Create Skill\n   * @param {EngineCreateSkillRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SkillServiceApi\n   */\n  public createSkill(body: EngineCreateSkillRequest, options?: any) {\n    return SkillServiceApiFp(this.configuration)\n      .createSkill(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} skillId\n   * @param {EngineSkillServiceCreateSkillAgentBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SkillServiceApi\n   */\n  public createSkillAgent(\n    skillId: string,\n    body: EngineSkillServiceCreateSkillAgentBody,\n    options?: any\n  ) {\n    return SkillServiceApiFp(this.configuration)\n      .createSkillAgent(skillId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Remove Skill\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SkillServiceApi\n   */\n  public deleteSkill(id: string, domainId?: string, options?: any) {\n    return SkillServiceApiFp(this.configuration)\n      .deleteSkill(id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} skillId\n   * @param {EngineSkillServiceDeleteSkillAgentBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SkillServiceApi\n   */\n  public deleteSkillAgent(\n    skillId: string,\n    body: EngineSkillServiceDeleteSkillAgentBody,\n    options?: any\n  ) {\n    return SkillServiceApiFp(this.configuration)\n      .deleteSkillAgent(skillId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} skillId\n   * @param {EngineSkillServicePatchSkillAgentBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SkillServiceApi\n   */\n  public patchSkillAgent(\n    skillId: string,\n    body: EngineSkillServicePatchSkillAgentBody,\n    options?: any\n  ) {\n    return SkillServiceApiFp(this.configuration)\n      .patchSkillAgent(skillId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Skill item\n   * @param {string} id\n   * @param {string} [domainId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SkillServiceApi\n   */\n  public readSkill(id: string, domainId?: string, options?: any) {\n    return SkillServiceApiFp(this.configuration)\n      .readSkill(id, domainId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary List of Skill\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<number>} [id]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SkillServiceApi\n   */\n  public searchSkill(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<number>,\n    options?: any\n  ) {\n    return SkillServiceApiFp(this.configuration)\n      .searchSkill(page, size, q, sort, fields, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary For agents SearchSkillAgent\n   * @param {string} skillId\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<string>} [id]\n   * @param {Array<string>} [agentId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SkillServiceApi\n   */\n  public searchSkillAgent(\n    skillId: string,\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<string>,\n    agentId?: Array<string>,\n    options?: any\n  ) {\n    return SkillServiceApiFp(this.configuration)\n      .searchSkillAgent(\n        skillId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        agentId,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update Skill\n   * @param {string} id\n   * @param {EngineSkillServiceUpdateSkillBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SkillServiceApi\n   */\n  public updateSkill(\n    id: string,\n    body: EngineSkillServiceUpdateSkillBody,\n    options?: any\n  ) {\n    return SkillServiceApiFp(this.configuration)\n      .updateSkill(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n// @ts-ignore\nimport { WebitelCasesInputSource } from '../api'\n// @ts-ignore\nimport { WebitelCasesLocateSourceResponse } from '../api'\n// @ts-ignore\nimport { WebitelCasesSource } from '../api'\n// @ts-ignore\nimport { WebitelCasesSourceList } from '../api'\n/**\n * SourcesApi - axios parameter creator\n * @export\n */\nexport const SourcesApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create a new source\n     * @param {WebitelCasesInputSource} input\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createSource: async (\n      input: WebitelCasesInputSource,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling createSource.'\n        )\n      }\n      const localVarPath = `/cases/sources`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Delete a source\n     * @param {string} id The unique ID of the source to delete.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteSource: async (\n      id: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteSource.'\n        )\n      }\n      const localVarPath = `/cases/sources/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Retrieve a list of sources or search sources\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {string} [sort] Sort the result according to fields.\n     * @param {Array<string>} [id] Filter by unique IDs.\n     * @param {string} [q] Search query string for filtering by name. Supports: - Wildcards (*) for substring matching - Placeholder (?) for single character substitution - Exact match for full names\n     * @param {Array<'TYPE_UNSPECIFIED' | 'CALL' | 'CHAT' | 'SOCIAL_MEDIA' | 'EMAIL' | 'API' | 'MANUAL'>} [type] Filter by source type.   - TYPE_UNSPECIFIED: Unspecified source type.  - CALL: Phone call source type.  - CHAT: Chat source type.  - SOCIAL_MEDIA: Social media source type.  - EMAIL: Email source type.  - API: API source type.  - MANUAL: Manual source type.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listSources: async (\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: string,\n      id?: Array<string>,\n      q?: string,\n      type?: Array<\n        | 'TYPE_UNSPECIFIED'\n        | 'CALL'\n        | 'CHAT'\n        | 'SOCIAL_MEDIA'\n        | 'EMAIL'\n        | 'API'\n        | 'MANUAL'\n      >,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/cases/sources`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (type) {\n        localVarQueryParameter['type'] = type\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Locate a source by ID\n     * @param {string} id The unique ID of the source to locate.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateSource: async (\n      id: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling locateSource.'\n        )\n      }\n      const localVarPath = `/cases/sources/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update an existing source\n     * @param {string} id\n     * @param {WebitelCasesInputSource} input\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateSource: async (\n      id: string,\n      input: WebitelCasesInputSource,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateSource.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateSource.'\n        )\n      }\n      const localVarPath = `/cases/sources/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update an existing source\n     * @param {string} id\n     * @param {WebitelCasesInputSource} input\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateSource2: async (\n      id: string,\n      input: WebitelCasesInputSource,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateSource2.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateSource2.'\n        )\n      }\n      const localVarPath = `/cases/sources/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * SourcesApi - functional programming interface\n * @export\n */\nexport const SourcesApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Create a new source\n     * @param {WebitelCasesInputSource} input\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createSource(\n      input: WebitelCasesInputSource,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesSource>\n    > {\n      const localVarAxiosArgs = await SourcesApiAxiosParamCreator(\n        configuration\n      ).createSource(input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Delete a source\n     * @param {string} id The unique ID of the source to delete.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteSource(\n      id: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesSource>\n    > {\n      const localVarAxiosArgs = await SourcesApiAxiosParamCreator(\n        configuration\n      ).deleteSource(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Retrieve a list of sources or search sources\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {string} [sort] Sort the result according to fields.\n     * @param {Array<string>} [id] Filter by unique IDs.\n     * @param {string} [q] Search query string for filtering by name. Supports: - Wildcards (*) for substring matching - Placeholder (?) for single character substitution - Exact match for full names\n     * @param {Array<'TYPE_UNSPECIFIED' | 'CALL' | 'CHAT' | 'SOCIAL_MEDIA' | 'EMAIL' | 'API' | 'MANUAL'>} [type] Filter by source type.   - TYPE_UNSPECIFIED: Unspecified source type.  - CALL: Phone call source type.  - CHAT: Chat source type.  - SOCIAL_MEDIA: Social media source type.  - EMAIL: Email source type.  - API: API source type.  - MANUAL: Manual source type.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async listSources(\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: string,\n      id?: Array<string>,\n      q?: string,\n      type?: Array<\n        | 'TYPE_UNSPECIFIED'\n        | 'CALL'\n        | 'CHAT'\n        | 'SOCIAL_MEDIA'\n        | 'EMAIL'\n        | 'API'\n        | 'MANUAL'\n      >,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesSourceList>\n    > {\n      const localVarAxiosArgs = await SourcesApiAxiosParamCreator(\n        configuration\n      ).listSources(page, size, fields, sort, id, q, type, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Locate a source by ID\n     * @param {string} id The unique ID of the source to locate.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async locateSource(\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesLocateSourceResponse>\n    > {\n      const localVarAxiosArgs = await SourcesApiAxiosParamCreator(\n        configuration\n      ).locateSource(id, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update an existing source\n     * @param {string} id\n     * @param {WebitelCasesInputSource} input\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateSource(\n      id: string,\n      input: WebitelCasesInputSource,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesSource>\n    > {\n      const localVarAxiosArgs = await SourcesApiAxiosParamCreator(\n        configuration\n      ).updateSource(id, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update an existing source\n     * @param {string} id\n     * @param {WebitelCasesInputSource} input\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateSource2(\n      id: string,\n      input: WebitelCasesInputSource,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesSource>\n    > {\n      const localVarAxiosArgs = await SourcesApiAxiosParamCreator(\n        configuration\n      ).updateSource2(id, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * SourcesApi - factory interface\n * @export\n */\nexport const SourcesApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Create a new source\n     * @param {WebitelCasesInputSource} input\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createSource(\n      input: WebitelCasesInputSource,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesSource> {\n      return SourcesApiFp(configuration)\n        .createSource(input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Delete a source\n     * @param {string} id The unique ID of the source to delete.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteSource(id: string, options?: any): AxiosPromise<WebitelCasesSource> {\n      return SourcesApiFp(configuration)\n        .deleteSource(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Retrieve a list of sources or search sources\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {string} [sort] Sort the result according to fields.\n     * @param {Array<string>} [id] Filter by unique IDs.\n     * @param {string} [q] Search query string for filtering by name. Supports: - Wildcards (*) for substring matching - Placeholder (?) for single character substitution - Exact match for full names\n     * @param {Array<'TYPE_UNSPECIFIED' | 'CALL' | 'CHAT' | 'SOCIAL_MEDIA' | 'EMAIL' | 'API' | 'MANUAL'>} [type] Filter by source type.   - TYPE_UNSPECIFIED: Unspecified source type.  - CALL: Phone call source type.  - CHAT: Chat source type.  - SOCIAL_MEDIA: Social media source type.  - EMAIL: Email source type.  - API: API source type.  - MANUAL: Manual source type.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listSources(\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: string,\n      id?: Array<string>,\n      q?: string,\n      type?: Array<\n        | 'TYPE_UNSPECIFIED'\n        | 'CALL'\n        | 'CHAT'\n        | 'SOCIAL_MEDIA'\n        | 'EMAIL'\n        | 'API'\n        | 'MANUAL'\n      >,\n      options?: any\n    ): AxiosPromise<WebitelCasesSourceList> {\n      return SourcesApiFp(configuration)\n        .listSources(page, size, fields, sort, id, q, type, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Locate a source by ID\n     * @param {string} id The unique ID of the source to locate.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateSource(\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesLocateSourceResponse> {\n      return SourcesApiFp(configuration)\n        .locateSource(id, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update an existing source\n     * @param {string} id\n     * @param {WebitelCasesInputSource} input\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateSource(\n      id: string,\n      input: WebitelCasesInputSource,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesSource> {\n      return SourcesApiFp(configuration)\n        .updateSource(id, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update an existing source\n     * @param {string} id\n     * @param {WebitelCasesInputSource} input\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateSource2(\n      id: string,\n      input: WebitelCasesInputSource,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesSource> {\n      return SourcesApiFp(configuration)\n        .updateSource2(id, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * SourcesApi - object-oriented interface\n * @export\n * @class SourcesApi\n * @extends {BaseAPI}\n */\nexport class SourcesApi extends BaseAPI {\n  /**\n   *\n   * @summary Create a new source\n   * @param {WebitelCasesInputSource} input\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SourcesApi\n   */\n  public createSource(\n    input: WebitelCasesInputSource,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return SourcesApiFp(this.configuration)\n      .createSource(input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Delete a source\n   * @param {string} id The unique ID of the source to delete.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SourcesApi\n   */\n  public deleteSource(id: string, options?: any) {\n    return SourcesApiFp(this.configuration)\n      .deleteSource(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Retrieve a list of sources or search sources\n   * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n   * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {string} [sort] Sort the result according to fields.\n   * @param {Array<string>} [id] Filter by unique IDs.\n   * @param {string} [q] Search query string for filtering by name. Supports: - Wildcards (*) for substring matching - Placeholder (?) for single character substitution - Exact match for full names\n   * @param {Array<'TYPE_UNSPECIFIED' | 'CALL' | 'CHAT' | 'SOCIAL_MEDIA' | 'EMAIL' | 'API' | 'MANUAL'>} [type] Filter by source type.   - TYPE_UNSPECIFIED: Unspecified source type.  - CALL: Phone call source type.  - CHAT: Chat source type.  - SOCIAL_MEDIA: Social media source type.  - EMAIL: Email source type.  - API: API source type.  - MANUAL: Manual source type.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SourcesApi\n   */\n  public listSources(\n    page?: number,\n    size?: number,\n    fields?: Array<string>,\n    sort?: string,\n    id?: Array<string>,\n    q?: string,\n    type?: Array<\n      | 'TYPE_UNSPECIFIED'\n      | 'CALL'\n      | 'CHAT'\n      | 'SOCIAL_MEDIA'\n      | 'EMAIL'\n      | 'API'\n      | 'MANUAL'\n    >,\n    options?: any\n  ) {\n    return SourcesApiFp(this.configuration)\n      .listSources(page, size, fields, sort, id, q, type, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Locate a source by ID\n   * @param {string} id The unique ID of the source to locate.\n   * @param {Array<string>} [fields] Fields to be retrieved into result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SourcesApi\n   */\n  public locateSource(id: string, fields?: Array<string>, options?: any) {\n    return SourcesApiFp(this.configuration)\n      .locateSource(id, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update an existing source\n   * @param {string} id\n   * @param {WebitelCasesInputSource} input\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SourcesApi\n   */\n  public updateSource(\n    id: string,\n    input: WebitelCasesInputSource,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return SourcesApiFp(this.configuration)\n      .updateSource(id, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update an existing source\n   * @param {string} id\n   * @param {WebitelCasesInputSource} input\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SourcesApi\n   */\n  public updateSource2(\n    id: string,\n    input: WebitelCasesInputSource,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return SourcesApiFp(this.configuration)\n      .updateSource2(id, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { NEWSpaceSourceChanges } from '../api'\n// @ts-ignore\nimport { WebitelKnowledgebaseInputSpace } from '../api'\n// @ts-ignore\nimport { WebitelKnowledgebaseSpace } from '../api'\n// @ts-ignore\nimport { WebitelKnowledgebaseSpaceList } from '../api'\n/**\n * SpacesApi - axios parameter creator\n * @export\n */\nexport const SpacesApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create NEW Space\n     * @param {Array<WebitelKnowledgebaseInputSpace>} input NEW Spaces source changes\n     * @param {Array<string>} [fields] Source Fields to return into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createSpace: async (\n      input: Array<WebitelKnowledgebaseInputSpace>,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling createSpace.'\n        )\n      }\n      const localVarPath = `/spaces`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Remove Space source\n     * @param {string} etag Unique ID of the latest version of a resource.\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteSpace: async (\n      etag: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling deleteSpace.'\n        )\n      }\n      const localVarPath = `/spaces/{etag}`.replace(\n        `{${'etag'}}`,\n        encodeURIComponent(String(etag))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     * | Field       | Type  | ----------- | ----  | **----------- READ-ONLY -----------** |  | `id`        | int64  | `ver`       | int32  | `etag`      | string  | **---------- OPERATIONAL ----------** |  | `created_at` | int64(epoch:milli)  | `created_by` | lookup(user)  | `updated_at` | int64(epoch:milli)  | `updated_by` | lookup(user)  | **---------- ATTRIBUTES -----------** |  | `name`      | name!  | `home_page`   | string (home_page)  | `state`       | bool  | `has_children`| bool\n     * @param {number} [page]\n     * @param {number} [size] Limit of result page records count.   _default(16); limit&#x3D;(size&lt;&#x3D;0?-1:size+1);_  &#x60;&#x60;&#x60;javascript const     default &#x3D; 16   , maximum &#x3D; 32 ;  &#x60;&#x60;&#x60;\n     * @param {string} [q] Search term: &#x60;?&#x60; - matches any character &#x60;*&#x60; - matches 0 or more characters Used to query records within a set of &#x60;qin&#x60; fields, eg: name, etc...\n     * @param {Array<string>} [sort] Sort result dataset of records by fields. &#x60;&#x60;&#x60; sort ::&#x3D; *( ORDER name )  ORDER  &#x3D; ASC / DESC DESC   &#x3D; \\&quot;-\\&quot; / \\&quot;!\\&quot; ASC    &#x3D; [ \\&quot;+\\&quot; ]   ; Default &#x60;&#x60;&#x60;  Fields available  - &#x60;id&#x60;(seq) - &#x60;domain&#x60;{name} - &#x60;state&#x60;\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [id] Records with unique IDentifier(s). Accept: &#x60;id&#x60; -or- &#x60;etag&#x60;.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listSpaces: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/spaces`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Locate spaces source\n     * @param {string} etag The Space source IDentifier. Accept: &#x60;etag&#x60; (obsolete+) or &#x60;id&#x60;.\n     * @param {Array<string>} [fields] Source Fields to return into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateSpace: async (\n      etag: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling locateSpace.'\n        )\n      }\n      const localVarPath = `/spaces/{etag}`.replace(\n        `{${'etag'}}`,\n        encodeURIComponent(String(etag))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary NEW Update of the Space source\n     * @param {string} etag Unique ID of the latest version of an existing resorce.\n     * @param {NEWSpaceSourceChanges} input\n     * @param {Array<string>} [fields] Source Fields to return into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateSpace: async (\n      etag: string,\n      input: NEWSpaceSourceChanges,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling updateSpace.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateSpace.'\n        )\n      }\n      const localVarPath = `/spaces/{etag}`.replace(\n        `{${'etag'}}`,\n        encodeURIComponent(String(etag))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * SpacesApi - functional programming interface\n * @export\n */\nexport const SpacesApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Create NEW Space\n     * @param {Array<WebitelKnowledgebaseInputSpace>} input NEW Spaces source changes\n     * @param {Array<string>} [fields] Source Fields to return into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createSpace(\n      input: Array<WebitelKnowledgebaseInputSpace>,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelKnowledgebaseSpace>\n    > {\n      const localVarAxiosArgs = await SpacesApiAxiosParamCreator(\n        configuration\n      ).createSpace(input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Remove Space source\n     * @param {string} etag Unique ID of the latest version of a resource.\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteSpace(\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelKnowledgebaseSpace>\n    > {\n      const localVarAxiosArgs = await SpacesApiAxiosParamCreator(\n        configuration\n      ).deleteSpace(etag, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     * | Field       | Type  | ----------- | ----  | **----------- READ-ONLY -----------** |  | `id`        | int64  | `ver`       | int32  | `etag`      | string  | **---------- OPERATIONAL ----------** |  | `created_at` | int64(epoch:milli)  | `created_by` | lookup(user)  | `updated_at` | int64(epoch:milli)  | `updated_by` | lookup(user)  | **---------- ATTRIBUTES -----------** |  | `name`      | name!  | `home_page`   | string (home_page)  | `state`       | bool  | `has_children`| bool\n     * @param {number} [page]\n     * @param {number} [size] Limit of result page records count.   _default(16); limit&#x3D;(size&lt;&#x3D;0?-1:size+1);_  &#x60;&#x60;&#x60;javascript const     default &#x3D; 16   , maximum &#x3D; 32 ;  &#x60;&#x60;&#x60;\n     * @param {string} [q] Search term: &#x60;?&#x60; - matches any character &#x60;*&#x60; - matches 0 or more characters Used to query records within a set of &#x60;qin&#x60; fields, eg: name, etc...\n     * @param {Array<string>} [sort] Sort result dataset of records by fields. &#x60;&#x60;&#x60; sort ::&#x3D; *( ORDER name )  ORDER  &#x3D; ASC / DESC DESC   &#x3D; \\&quot;-\\&quot; / \\&quot;!\\&quot; ASC    &#x3D; [ \\&quot;+\\&quot; ]   ; Default &#x60;&#x60;&#x60;  Fields available  - &#x60;id&#x60;(seq) - &#x60;domain&#x60;{name} - &#x60;state&#x60;\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [id] Records with unique IDentifier(s). Accept: &#x60;id&#x60; -or- &#x60;etag&#x60;.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async listSpaces(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelKnowledgebaseSpaceList>\n    > {\n      const localVarAxiosArgs = await SpacesApiAxiosParamCreator(\n        configuration\n      ).listSpaces(page, size, q, sort, fields, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Locate spaces source\n     * @param {string} etag The Space source IDentifier. Accept: &#x60;etag&#x60; (obsolete+) or &#x60;id&#x60;.\n     * @param {Array<string>} [fields] Source Fields to return into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async locateSpace(\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelKnowledgebaseSpace>\n    > {\n      const localVarAxiosArgs = await SpacesApiAxiosParamCreator(\n        configuration\n      ).locateSpace(etag, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary NEW Update of the Space source\n     * @param {string} etag Unique ID of the latest version of an existing resorce.\n     * @param {NEWSpaceSourceChanges} input\n     * @param {Array<string>} [fields] Source Fields to return into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateSpace(\n      etag: string,\n      input: NEWSpaceSourceChanges,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelKnowledgebaseSpace>\n    > {\n      const localVarAxiosArgs = await SpacesApiAxiosParamCreator(\n        configuration\n      ).updateSpace(etag, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * SpacesApi - factory interface\n * @export\n */\nexport const SpacesApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Create NEW Space\n     * @param {Array<WebitelKnowledgebaseInputSpace>} input NEW Spaces source changes\n     * @param {Array<string>} [fields] Source Fields to return into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createSpace(\n      input: Array<WebitelKnowledgebaseInputSpace>,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelKnowledgebaseSpace> {\n      return SpacesApiFp(configuration)\n        .createSpace(input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Remove Space source\n     * @param {string} etag Unique ID of the latest version of a resource.\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteSpace(\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelKnowledgebaseSpace> {\n      return SpacesApiFp(configuration)\n        .deleteSpace(etag, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     * | Field       | Type  | ----------- | ----  | **----------- READ-ONLY -----------** |  | `id`        | int64  | `ver`       | int32  | `etag`      | string  | **---------- OPERATIONAL ----------** |  | `created_at` | int64(epoch:milli)  | `created_by` | lookup(user)  | `updated_at` | int64(epoch:milli)  | `updated_by` | lookup(user)  | **---------- ATTRIBUTES -----------** |  | `name`      | name!  | `home_page`   | string (home_page)  | `state`       | bool  | `has_children`| bool\n     * @param {number} [page]\n     * @param {number} [size] Limit of result page records count.   _default(16); limit&#x3D;(size&lt;&#x3D;0?-1:size+1);_  &#x60;&#x60;&#x60;javascript const     default &#x3D; 16   , maximum &#x3D; 32 ;  &#x60;&#x60;&#x60;\n     * @param {string} [q] Search term: &#x60;?&#x60; - matches any character &#x60;*&#x60; - matches 0 or more characters Used to query records within a set of &#x60;qin&#x60; fields, eg: name, etc...\n     * @param {Array<string>} [sort] Sort result dataset of records by fields. &#x60;&#x60;&#x60; sort ::&#x3D; *( ORDER name )  ORDER  &#x3D; ASC / DESC DESC   &#x3D; \\&quot;-\\&quot; / \\&quot;!\\&quot; ASC    &#x3D; [ \\&quot;+\\&quot; ]   ; Default &#x60;&#x60;&#x60;  Fields available  - &#x60;id&#x60;(seq) - &#x60;domain&#x60;{name} - &#x60;state&#x60;\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [id] Records with unique IDentifier(s). Accept: &#x60;id&#x60; -or- &#x60;etag&#x60;.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listSpaces(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelKnowledgebaseSpaceList> {\n      return SpacesApiFp(configuration)\n        .listSpaces(page, size, q, sort, fields, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Locate spaces source\n     * @param {string} etag The Space source IDentifier. Accept: &#x60;etag&#x60; (obsolete+) or &#x60;id&#x60;.\n     * @param {Array<string>} [fields] Source Fields to return into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateSpace(\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelKnowledgebaseSpace> {\n      return SpacesApiFp(configuration)\n        .locateSpace(etag, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary NEW Update of the Space source\n     * @param {string} etag Unique ID of the latest version of an existing resorce.\n     * @param {NEWSpaceSourceChanges} input\n     * @param {Array<string>} [fields] Source Fields to return into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateSpace(\n      etag: string,\n      input: NEWSpaceSourceChanges,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelKnowledgebaseSpace> {\n      return SpacesApiFp(configuration)\n        .updateSpace(etag, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * SpacesApi - object-oriented interface\n * @export\n * @class SpacesApi\n * @extends {BaseAPI}\n */\nexport class SpacesApi extends BaseAPI {\n  /**\n   *\n   * @summary Create NEW Space\n   * @param {Array<WebitelKnowledgebaseInputSpace>} input NEW Spaces source changes\n   * @param {Array<string>} [fields] Source Fields to return into result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SpacesApi\n   */\n  public createSpace(\n    input: Array<WebitelKnowledgebaseInputSpace>,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return SpacesApiFp(this.configuration)\n      .createSpace(input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Remove Space source\n   * @param {string} etag Unique ID of the latest version of a resource.\n   * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SpacesApi\n   */\n  public deleteSpace(etag: string, fields?: Array<string>, options?: any) {\n    return SpacesApiFp(this.configuration)\n      .deleteSpace(etag, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   * | Field       | Type  | ----------- | ----  | **----------- READ-ONLY -----------** |  | `id`        | int64  | `ver`       | int32  | `etag`      | string  | **---------- OPERATIONAL ----------** |  | `created_at` | int64(epoch:milli)  | `created_by` | lookup(user)  | `updated_at` | int64(epoch:milli)  | `updated_by` | lookup(user)  | **---------- ATTRIBUTES -----------** |  | `name`      | name!  | `home_page`   | string (home_page)  | `state`       | bool  | `has_children`| bool\n   * @param {number} [page]\n   * @param {number} [size] Limit of result page records count.   _default(16); limit&#x3D;(size&lt;&#x3D;0?-1:size+1);_  &#x60;&#x60;&#x60;javascript const     default &#x3D; 16   , maximum &#x3D; 32 ;  &#x60;&#x60;&#x60;\n   * @param {string} [q] Search term: &#x60;?&#x60; - matches any character &#x60;*&#x60; - matches 0 or more characters Used to query records within a set of &#x60;qin&#x60; fields, eg: name, etc...\n   * @param {Array<string>} [sort] Sort result dataset of records by fields. &#x60;&#x60;&#x60; sort ::&#x3D; *( ORDER name )  ORDER  &#x3D; ASC / DESC DESC   &#x3D; \\&quot;-\\&quot; / \\&quot;!\\&quot; ASC    &#x3D; [ \\&quot;+\\&quot; ]   ; Default &#x60;&#x60;&#x60;  Fields available  - &#x60;id&#x60;(seq) - &#x60;domain&#x60;{name} - &#x60;state&#x60;\n   * @param {Array<string>} [fields]\n   * @param {Array<string>} [id] Records with unique IDentifier(s). Accept: &#x60;id&#x60; -or- &#x60;etag&#x60;.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SpacesApi\n   */\n  public listSpaces(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: Array<string>,\n    fields?: Array<string>,\n    id?: Array<string>,\n    options?: any\n  ) {\n    return SpacesApiFp(this.configuration)\n      .listSpaces(page, size, q, sort, fields, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Locate spaces source\n   * @param {string} etag The Space source IDentifier. Accept: &#x60;etag&#x60; (obsolete+) or &#x60;id&#x60;.\n   * @param {Array<string>} [fields] Source Fields to return into result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SpacesApi\n   */\n  public locateSpace(etag: string, fields?: Array<string>, options?: any) {\n    return SpacesApiFp(this.configuration)\n      .locateSpace(etag, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary NEW Update of the Space source\n   * @param {string} etag Unique ID of the latest version of an existing resorce.\n   * @param {NEWSpaceSourceChanges} input\n   * @param {Array<string>} [fields] Source Fields to return into result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SpacesApi\n   */\n  public updateSpace(\n    etag: string,\n    input: NEWSpaceSourceChanges,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return SpacesApiFp(this.configuration)\n      .updateSpace(etag, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n// @ts-ignore\nimport { WebitelCasesInputCreateStatusCondition } from '../api'\n// @ts-ignore\nimport { WebitelCasesInputStatusCondition } from '../api'\n// @ts-ignore\nimport { WebitelCasesLocateStatusConditionResponse } from '../api'\n// @ts-ignore\nimport { WebitelCasesStatusCondition } from '../api'\n// @ts-ignore\nimport { WebitelCasesStatusConditionList } from '../api'\n/**\n * StatusConditionsApi - axios parameter creator\n * @export\n */\nexport const StatusConditionsApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create a new status condition\n     * @param {string} statusId\n     * @param {WebitelCasesInputCreateStatusCondition} input\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createStatusCondition: async (\n      statusId: string,\n      input: WebitelCasesInputCreateStatusCondition,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'statusId' is not null or undefined\n      if (statusId === null || statusId === undefined) {\n        throw new RequiredError(\n          'statusId',\n          'Required parameter statusId was null or undefined when calling createStatusCondition.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling createStatusCondition.'\n        )\n      }\n      const localVarPath = `/statuses/{status_id}/status`.replace(\n        `{${'status_id'}}`,\n        encodeURIComponent(String(statusId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Delete a status condition\n     * @param {string} statusId\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteStatusCondition: async (\n      statusId: string,\n      id: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'statusId' is not null or undefined\n      if (statusId === null || statusId === undefined) {\n        throw new RequiredError(\n          'statusId',\n          'Required parameter statusId was null or undefined when calling deleteStatusCondition.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteStatusCondition.'\n        )\n      }\n      const localVarPath = `/statuses/{status_id}/status/{id}`\n        .replace(`{${'status_id'}}`, encodeURIComponent(String(statusId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Retrieve a list of statuses or search status conditions\n     * @param {string} statusId Filter by Status Id.\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {string} [sort] Sort the result according to fields.\n     * @param {Array<string>} [id] Filter by unique IDs.\n     * @param {string} [q] Search query string for filtering by name. Supports: - Wildcards (*) for substring matching - Placeholder (?) for single character substitution - Exact match for full names\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listStatusConditions: async (\n      statusId: string,\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: string,\n      id?: Array<string>,\n      q?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'statusId' is not null or undefined\n      if (statusId === null || statusId === undefined) {\n        throw new RequiredError(\n          'statusId',\n          'Required parameter statusId was null or undefined when calling listStatusConditions.'\n        )\n      }\n      const localVarPath = `/statuses/{status_id}/status`.replace(\n        `{${'status_id'}}`,\n        encodeURIComponent(String(statusId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Locate a status condition by ID\n     * @param {string} statusId ID of the status to be located\n     * @param {string} id ID of the status condition to be located\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateStatusCondition: async (\n      statusId: string,\n      id: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'statusId' is not null or undefined\n      if (statusId === null || statusId === undefined) {\n        throw new RequiredError(\n          'statusId',\n          'Required parameter statusId was null or undefined when calling locateStatusCondition.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling locateStatusCondition.'\n        )\n      }\n      const localVarPath = `/statuses/{status_id}/status/{id}`\n        .replace(`{${'status_id'}}`, encodeURIComponent(String(statusId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update an existing status condition\n     * @param {string} statusId\n     * @param {string} id\n     * @param {WebitelCasesInputStatusCondition} input\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateStatusCondition: async (\n      statusId: string,\n      id: string,\n      input: WebitelCasesInputStatusCondition,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'statusId' is not null or undefined\n      if (statusId === null || statusId === undefined) {\n        throw new RequiredError(\n          'statusId',\n          'Required parameter statusId was null or undefined when calling updateStatusCondition.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateStatusCondition.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateStatusCondition.'\n        )\n      }\n      const localVarPath = `/statuses/{status_id}/status/{id}`\n        .replace(`{${'status_id'}}`, encodeURIComponent(String(statusId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update an existing status condition\n     * @param {string} statusId\n     * @param {string} id\n     * @param {WebitelCasesInputStatusCondition} input\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateStatusCondition2: async (\n      statusId: string,\n      id: string,\n      input: WebitelCasesInputStatusCondition,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'statusId' is not null or undefined\n      if (statusId === null || statusId === undefined) {\n        throw new RequiredError(\n          'statusId',\n          'Required parameter statusId was null or undefined when calling updateStatusCondition2.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateStatusCondition2.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateStatusCondition2.'\n        )\n      }\n      const localVarPath = `/statuses/{status_id}/status/{id}`\n        .replace(`{${'status_id'}}`, encodeURIComponent(String(statusId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * StatusConditionsApi - functional programming interface\n * @export\n */\nexport const StatusConditionsApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Create a new status condition\n     * @param {string} statusId\n     * @param {WebitelCasesInputCreateStatusCondition} input\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createStatusCondition(\n      statusId: string,\n      input: WebitelCasesInputCreateStatusCondition,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesStatusCondition>\n    > {\n      const localVarAxiosArgs = await StatusConditionsApiAxiosParamCreator(\n        configuration\n      ).createStatusCondition(statusId, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Delete a status condition\n     * @param {string} statusId\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteStatusCondition(\n      statusId: string,\n      id: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesStatusCondition>\n    > {\n      const localVarAxiosArgs = await StatusConditionsApiAxiosParamCreator(\n        configuration\n      ).deleteStatusCondition(statusId, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Retrieve a list of statuses or search status conditions\n     * @param {string} statusId Filter by Status Id.\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {string} [sort] Sort the result according to fields.\n     * @param {Array<string>} [id] Filter by unique IDs.\n     * @param {string} [q] Search query string for filtering by name. Supports: - Wildcards (*) for substring matching - Placeholder (?) for single character substitution - Exact match for full names\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async listStatusConditions(\n      statusId: string,\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: string,\n      id?: Array<string>,\n      q?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesStatusConditionList>\n    > {\n      const localVarAxiosArgs = await StatusConditionsApiAxiosParamCreator(\n        configuration\n      ).listStatusConditions(statusId, page, size, fields, sort, id, q, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Locate a status condition by ID\n     * @param {string} statusId ID of the status to be located\n     * @param {string} id ID of the status condition to be located\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async locateStatusCondition(\n      statusId: string,\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesLocateStatusConditionResponse>\n    > {\n      const localVarAxiosArgs = await StatusConditionsApiAxiosParamCreator(\n        configuration\n      ).locateStatusCondition(statusId, id, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update an existing status condition\n     * @param {string} statusId\n     * @param {string} id\n     * @param {WebitelCasesInputStatusCondition} input\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateStatusCondition(\n      statusId: string,\n      id: string,\n      input: WebitelCasesInputStatusCondition,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesStatusCondition>\n    > {\n      const localVarAxiosArgs = await StatusConditionsApiAxiosParamCreator(\n        configuration\n      ).updateStatusCondition(statusId, id, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update an existing status condition\n     * @param {string} statusId\n     * @param {string} id\n     * @param {WebitelCasesInputStatusCondition} input\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateStatusCondition2(\n      statusId: string,\n      id: string,\n      input: WebitelCasesInputStatusCondition,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesStatusCondition>\n    > {\n      const localVarAxiosArgs = await StatusConditionsApiAxiosParamCreator(\n        configuration\n      ).updateStatusCondition2(statusId, id, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * StatusConditionsApi - factory interface\n * @export\n */\nexport const StatusConditionsApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Create a new status condition\n     * @param {string} statusId\n     * @param {WebitelCasesInputCreateStatusCondition} input\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createStatusCondition(\n      statusId: string,\n      input: WebitelCasesInputCreateStatusCondition,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesStatusCondition> {\n      return StatusConditionsApiFp(configuration)\n        .createStatusCondition(statusId, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Delete a status condition\n     * @param {string} statusId\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteStatusCondition(\n      statusId: string,\n      id: string,\n      options?: any\n    ): AxiosPromise<WebitelCasesStatusCondition> {\n      return StatusConditionsApiFp(configuration)\n        .deleteStatusCondition(statusId, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Retrieve a list of statuses or search status conditions\n     * @param {string} statusId Filter by Status Id.\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {string} [sort] Sort the result according to fields.\n     * @param {Array<string>} [id] Filter by unique IDs.\n     * @param {string} [q] Search query string for filtering by name. Supports: - Wildcards (*) for substring matching - Placeholder (?) for single character substitution - Exact match for full names\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listStatusConditions(\n      statusId: string,\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: string,\n      id?: Array<string>,\n      q?: string,\n      options?: any\n    ): AxiosPromise<WebitelCasesStatusConditionList> {\n      return StatusConditionsApiFp(configuration)\n        .listStatusConditions(\n          statusId,\n          page,\n          size,\n          fields,\n          sort,\n          id,\n          q,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Locate a status condition by ID\n     * @param {string} statusId ID of the status to be located\n     * @param {string} id ID of the status condition to be located\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateStatusCondition(\n      statusId: string,\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesLocateStatusConditionResponse> {\n      return StatusConditionsApiFp(configuration)\n        .locateStatusCondition(statusId, id, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update an existing status condition\n     * @param {string} statusId\n     * @param {string} id\n     * @param {WebitelCasesInputStatusCondition} input\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateStatusCondition(\n      statusId: string,\n      id: string,\n      input: WebitelCasesInputStatusCondition,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesStatusCondition> {\n      return StatusConditionsApiFp(configuration)\n        .updateStatusCondition(statusId, id, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update an existing status condition\n     * @param {string} statusId\n     * @param {string} id\n     * @param {WebitelCasesInputStatusCondition} input\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateStatusCondition2(\n      statusId: string,\n      id: string,\n      input: WebitelCasesInputStatusCondition,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesStatusCondition> {\n      return StatusConditionsApiFp(configuration)\n        .updateStatusCondition2(statusId, id, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * StatusConditionsApi - object-oriented interface\n * @export\n * @class StatusConditionsApi\n * @extends {BaseAPI}\n */\nexport class StatusConditionsApi extends BaseAPI {\n  /**\n   *\n   * @summary Create a new status condition\n   * @param {string} statusId\n   * @param {WebitelCasesInputCreateStatusCondition} input\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof StatusConditionsApi\n   */\n  public createStatusCondition(\n    statusId: string,\n    input: WebitelCasesInputCreateStatusCondition,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return StatusConditionsApiFp(this.configuration)\n      .createStatusCondition(statusId, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Delete a status condition\n   * @param {string} statusId\n   * @param {string} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof StatusConditionsApi\n   */\n  public deleteStatusCondition(statusId: string, id: string, options?: any) {\n    return StatusConditionsApiFp(this.configuration)\n      .deleteStatusCondition(statusId, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Retrieve a list of statuses or search status conditions\n   * @param {string} statusId Filter by Status Id.\n   * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n   * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {string} [sort] Sort the result according to fields.\n   * @param {Array<string>} [id] Filter by unique IDs.\n   * @param {string} [q] Search query string for filtering by name. Supports: - Wildcards (*) for substring matching - Placeholder (?) for single character substitution - Exact match for full names\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof StatusConditionsApi\n   */\n  public listStatusConditions(\n    statusId: string,\n    page?: number,\n    size?: number,\n    fields?: Array<string>,\n    sort?: string,\n    id?: Array<string>,\n    q?: string,\n    options?: any\n  ) {\n    return StatusConditionsApiFp(this.configuration)\n      .listStatusConditions(statusId, page, size, fields, sort, id, q, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Locate a status condition by ID\n   * @param {string} statusId ID of the status to be located\n   * @param {string} id ID of the status condition to be located\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof StatusConditionsApi\n   */\n  public locateStatusCondition(\n    statusId: string,\n    id: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return StatusConditionsApiFp(this.configuration)\n      .locateStatusCondition(statusId, id, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update an existing status condition\n   * @param {string} statusId\n   * @param {string} id\n   * @param {WebitelCasesInputStatusCondition} input\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof StatusConditionsApi\n   */\n  public updateStatusCondition(\n    statusId: string,\n    id: string,\n    input: WebitelCasesInputStatusCondition,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return StatusConditionsApiFp(this.configuration)\n      .updateStatusCondition(statusId, id, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update an existing status condition\n   * @param {string} statusId\n   * @param {string} id\n   * @param {WebitelCasesInputStatusCondition} input\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof StatusConditionsApi\n   */\n  public updateStatusCondition2(\n    statusId: string,\n    id: string,\n    input: WebitelCasesInputStatusCondition,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return StatusConditionsApiFp(this.configuration)\n      .updateStatusCondition2(statusId, id, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n// @ts-ignore\nimport { WebitelCasesInputStatus } from '../api'\n// @ts-ignore\nimport { WebitelCasesLocateStatusResponse } from '../api'\n// @ts-ignore\nimport { WebitelCasesStatus } from '../api'\n// @ts-ignore\nimport { WebitelCasesStatusList } from '../api'\n/**\n * StatusesApi - axios parameter creator\n * @export\n */\nexport const StatusesApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create a new status\n     * @param {WebitelCasesInputStatus} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createStatus: async (\n      input: WebitelCasesInputStatus,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling createStatus.'\n        )\n      }\n      const localVarPath = `/cases/statuses`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Delete a status\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteStatus: async (\n      id: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteStatus.'\n        )\n      }\n      const localVarPath = `/cases/statuses/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Retrieve a list of statuses or search statuses\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {string} [sort] Sort the result according to fields.\n     * @param {Array<string>} [id] Filter by unique IDs.\n     * @param {string} [q] Search query string for filtering by name. Supports: - Wildcards (*) for substring matching - Placeholder (?) for single character substitution - Exact match for full names\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listStatuses: async (\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: string,\n      id?: Array<string>,\n      q?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/cases/statuses`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Locate a status by ID\n     * @param {string} id\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateStatus: async (\n      id: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling locateStatus.'\n        )\n      }\n      const localVarPath = `/cases/statuses/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update an existing status\n     * @param {string} id\n     * @param {WebitelCasesInputStatus} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateStatus: async (\n      id: string,\n      input: WebitelCasesInputStatus,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateStatus.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateStatus.'\n        )\n      }\n      const localVarPath = `/cases/statuses/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update an existing status\n     * @param {string} id\n     * @param {WebitelCasesInputStatus} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateStatus2: async (\n      id: string,\n      input: WebitelCasesInputStatus,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateStatus2.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateStatus2.'\n        )\n      }\n      const localVarPath = `/cases/statuses/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * StatusesApi - functional programming interface\n * @export\n */\nexport const StatusesApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Create a new status\n     * @param {WebitelCasesInputStatus} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createStatus(\n      input: WebitelCasesInputStatus,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesStatus>\n    > {\n      const localVarAxiosArgs = await StatusesApiAxiosParamCreator(\n        configuration\n      ).createStatus(input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Delete a status\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteStatus(\n      id: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesStatus>\n    > {\n      const localVarAxiosArgs = await StatusesApiAxiosParamCreator(\n        configuration\n      ).deleteStatus(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Retrieve a list of statuses or search statuses\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {string} [sort] Sort the result according to fields.\n     * @param {Array<string>} [id] Filter by unique IDs.\n     * @param {string} [q] Search query string for filtering by name. Supports: - Wildcards (*) for substring matching - Placeholder (?) for single character substitution - Exact match for full names\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async listStatuses(\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: string,\n      id?: Array<string>,\n      q?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesStatusList>\n    > {\n      const localVarAxiosArgs = await StatusesApiAxiosParamCreator(\n        configuration\n      ).listStatuses(page, size, fields, sort, id, q, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Locate a status by ID\n     * @param {string} id\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async locateStatus(\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesLocateStatusResponse>\n    > {\n      const localVarAxiosArgs = await StatusesApiAxiosParamCreator(\n        configuration\n      ).locateStatus(id, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update an existing status\n     * @param {string} id\n     * @param {WebitelCasesInputStatus} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateStatus(\n      id: string,\n      input: WebitelCasesInputStatus,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesStatus>\n    > {\n      const localVarAxiosArgs = await StatusesApiAxiosParamCreator(\n        configuration\n      ).updateStatus(id, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update an existing status\n     * @param {string} id\n     * @param {WebitelCasesInputStatus} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateStatus2(\n      id: string,\n      input: WebitelCasesInputStatus,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelCasesStatus>\n    > {\n      const localVarAxiosArgs = await StatusesApiAxiosParamCreator(\n        configuration\n      ).updateStatus2(id, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * StatusesApi - factory interface\n * @export\n */\nexport const StatusesApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Create a new status\n     * @param {WebitelCasesInputStatus} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createStatus(\n      input: WebitelCasesInputStatus,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesStatus> {\n      return StatusesApiFp(configuration)\n        .createStatus(input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Delete a status\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteStatus(id: string, options?: any): AxiosPromise<WebitelCasesStatus> {\n      return StatusesApiFp(configuration)\n        .deleteStatus(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Retrieve a list of statuses or search statuses\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {string} [sort] Sort the result according to fields.\n     * @param {Array<string>} [id] Filter by unique IDs.\n     * @param {string} [q] Search query string for filtering by name. Supports: - Wildcards (*) for substring matching - Placeholder (?) for single character substitution - Exact match for full names\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listStatuses(\n      page?: number,\n      size?: number,\n      fields?: Array<string>,\n      sort?: string,\n      id?: Array<string>,\n      q?: string,\n      options?: any\n    ): AxiosPromise<WebitelCasesStatusList> {\n      return StatusesApiFp(configuration)\n        .listStatuses(page, size, fields, sort, id, q, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Locate a status by ID\n     * @param {string} id\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateStatus(\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesLocateStatusResponse> {\n      return StatusesApiFp(configuration)\n        .locateStatus(id, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update an existing status\n     * @param {string} id\n     * @param {WebitelCasesInputStatus} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateStatus(\n      id: string,\n      input: WebitelCasesInputStatus,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesStatus> {\n      return StatusesApiFp(configuration)\n        .updateStatus(id, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update an existing status\n     * @param {string} id\n     * @param {WebitelCasesInputStatus} input\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateStatus2(\n      id: string,\n      input: WebitelCasesInputStatus,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelCasesStatus> {\n      return StatusesApiFp(configuration)\n        .updateStatus2(id, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * StatusesApi - object-oriented interface\n * @export\n * @class StatusesApi\n * @extends {BaseAPI}\n */\nexport class StatusesApi extends BaseAPI {\n  /**\n   *\n   * @summary Create a new status\n   * @param {WebitelCasesInputStatus} input\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof StatusesApi\n   */\n  public createStatus(\n    input: WebitelCasesInputStatus,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return StatusesApiFp(this.configuration)\n      .createStatus(input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Delete a status\n   * @param {string} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof StatusesApi\n   */\n  public deleteStatus(id: string, options?: any) {\n    return StatusesApiFp(this.configuration)\n      .deleteStatus(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Retrieve a list of statuses or search statuses\n   * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n   * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {string} [sort] Sort the result according to fields.\n   * @param {Array<string>} [id] Filter by unique IDs.\n   * @param {string} [q] Search query string for filtering by name. Supports: - Wildcards (*) for substring matching - Placeholder (?) for single character substitution - Exact match for full names\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof StatusesApi\n   */\n  public listStatuses(\n    page?: number,\n    size?: number,\n    fields?: Array<string>,\n    sort?: string,\n    id?: Array<string>,\n    q?: string,\n    options?: any\n  ) {\n    return StatusesApiFp(this.configuration)\n      .listStatuses(page, size, fields, sort, id, q, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Locate a status by ID\n   * @param {string} id\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof StatusesApi\n   */\n  public locateStatus(id: string, fields?: Array<string>, options?: any) {\n    return StatusesApiFp(this.configuration)\n      .locateStatus(id, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update an existing status\n   * @param {string} id\n   * @param {WebitelCasesInputStatus} input\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof StatusesApi\n   */\n  public updateStatus(\n    id: string,\n    input: WebitelCasesInputStatus,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return StatusesApiFp(this.configuration)\n      .updateStatus(id, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update an existing status\n   * @param {string} id\n   * @param {WebitelCasesInputStatus} input\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof StatusesApi\n   */\n  public updateStatus2(\n    id: string,\n    input: WebitelCasesInputStatus,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return StatusesApiFp(this.configuration)\n      .updateStatus2(id, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { EngineCreateSystemSettingRequest } from '../api'\n// @ts-ignore\nimport { EngineListAvailableSystemSetting } from '../api'\n// @ts-ignore\nimport { EngineListSystemSetting } from '../api'\n// @ts-ignore\nimport { EngineSystemSetting } from '../api'\n// @ts-ignore\nimport { EngineSystemSettingServicePatchSystemSettingBody } from '../api'\n// @ts-ignore\nimport { EngineSystemSettingServiceUpdateSystemSettingBody } from '../api'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n/**\n * SystemSettingServiceApi - axios parameter creator\n * @export\n */\nexport const SystemSettingServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {EngineCreateSystemSettingRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createSystemSetting: async (\n      body: EngineCreateSystemSettingRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createSystemSetting.'\n        )\n      }\n      const localVarPath = `/settings`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteSystemSetting: async (\n      id: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteSystemSetting.'\n        )\n      }\n      const localVarPath = `/settings/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineSystemSettingServicePatchSystemSettingBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchSystemSetting: async (\n      id: number,\n      body: EngineSystemSettingServicePatchSystemSettingBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling patchSystemSetting.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling patchSystemSetting.'\n        )\n      }\n      const localVarPath = `/settings/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readSystemSetting: async (\n      id: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readSystemSetting.'\n        )\n      }\n      const localVarPath = `/settings/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAvailableSystemSetting: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/settings/available`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<'empty_system_settings_name' | 'enable_omnichannel' | 'member_chunk_size' | 'amd_cancel_not_human' | 'scheme_version_limit' | 'enable_2fa' | 'export_settings' | 'search_number_length' | 'chat_ai_connection' | 'password_reg_exp' | 'password_validation_text' | 'autolink_call_to_contact' | 'period_to_playback_records' | 'is_fulltext_search_enabled' | 'wbt_hide_contact' | 'show_full_contact' | 'call_end_sound_notification' | 'call_end_push_notification' | 'chat_end_sound_notification' | 'chat_end_push_notification' | 'task_end_sound_notification' | 'task_end_push_notification' | 'push_notification_timeout' | 'labels_to_limit_contacts'>} [name] Filter by setting names\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchSystemSetting: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      name?: Array<\n        | 'empty_system_settings_name'\n        | 'enable_omnichannel'\n        | 'member_chunk_size'\n        | 'amd_cancel_not_human'\n        | 'scheme_version_limit'\n        | 'enable_2fa'\n        | 'export_settings'\n        | 'search_number_length'\n        | 'chat_ai_connection'\n        | 'password_reg_exp'\n        | 'password_validation_text'\n        | 'autolink_call_to_contact'\n        | 'period_to_playback_records'\n        | 'is_fulltext_search_enabled'\n        | 'wbt_hide_contact'\n        | 'show_full_contact'\n        | 'call_end_sound_notification'\n        | 'call_end_push_notification'\n        | 'chat_end_sound_notification'\n        | 'chat_end_push_notification'\n        | 'task_end_sound_notification'\n        | 'task_end_push_notification'\n        | 'push_notification_timeout'\n        | 'labels_to_limit_contacts'\n      >,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/settings`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (name) {\n        localVarQueryParameter['name'] = name\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineSystemSettingServiceUpdateSystemSettingBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateSystemSetting: async (\n      id: number,\n      body: EngineSystemSettingServiceUpdateSystemSettingBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateSystemSetting.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateSystemSetting.'\n        )\n      }\n      const localVarPath = `/settings/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * SystemSettingServiceApi - functional programming interface\n * @export\n */\nexport const SystemSettingServiceApiFp = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {EngineCreateSystemSettingRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createSystemSetting(\n      body: EngineCreateSystemSettingRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineSystemSetting>\n    > {\n      const localVarAxiosArgs = await SystemSettingServiceApiAxiosParamCreator(\n        configuration\n      ).createSystemSetting(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteSystemSetting(\n      id: number,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineSystemSetting>\n    > {\n      const localVarAxiosArgs = await SystemSettingServiceApiAxiosParamCreator(\n        configuration\n      ).deleteSystemSetting(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineSystemSettingServicePatchSystemSettingBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async patchSystemSetting(\n      id: number,\n      body: EngineSystemSettingServicePatchSystemSettingBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineSystemSetting>\n    > {\n      const localVarAxiosArgs = await SystemSettingServiceApiAxiosParamCreator(\n        configuration\n      ).patchSystemSetting(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readSystemSetting(\n      id: number,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineSystemSetting>\n    > {\n      const localVarAxiosArgs = await SystemSettingServiceApiAxiosParamCreator(\n        configuration\n      ).readSystemSetting(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchAvailableSystemSetting(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListAvailableSystemSetting>\n    > {\n      const localVarAxiosArgs = await SystemSettingServiceApiAxiosParamCreator(\n        configuration\n      ).searchAvailableSystemSetting(page, size, q, sort, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<'empty_system_settings_name' | 'enable_omnichannel' | 'member_chunk_size' | 'amd_cancel_not_human' | 'scheme_version_limit' | 'enable_2fa' | 'export_settings' | 'search_number_length' | 'chat_ai_connection' | 'password_reg_exp' | 'password_validation_text' | 'autolink_call_to_contact' | 'period_to_playback_records' | 'is_fulltext_search_enabled' | 'wbt_hide_contact' | 'show_full_contact' | 'call_end_sound_notification' | 'call_end_push_notification' | 'chat_end_sound_notification' | 'chat_end_push_notification' | 'task_end_sound_notification' | 'task_end_push_notification' | 'push_notification_timeout' | 'labels_to_limit_contacts'>} [name] Filter by setting names\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchSystemSetting(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      name?: Array<\n        | 'empty_system_settings_name'\n        | 'enable_omnichannel'\n        | 'member_chunk_size'\n        | 'amd_cancel_not_human'\n        | 'scheme_version_limit'\n        | 'enable_2fa'\n        | 'export_settings'\n        | 'search_number_length'\n        | 'chat_ai_connection'\n        | 'password_reg_exp'\n        | 'password_validation_text'\n        | 'autolink_call_to_contact'\n        | 'period_to_playback_records'\n        | 'is_fulltext_search_enabled'\n        | 'wbt_hide_contact'\n        | 'show_full_contact'\n        | 'call_end_sound_notification'\n        | 'call_end_push_notification'\n        | 'chat_end_sound_notification'\n        | 'chat_end_push_notification'\n        | 'task_end_sound_notification'\n        | 'task_end_push_notification'\n        | 'push_notification_timeout'\n        | 'labels_to_limit_contacts'\n      >,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListSystemSetting>\n    > {\n      const localVarAxiosArgs = await SystemSettingServiceApiAxiosParamCreator(\n        configuration\n      ).searchSystemSetting(page, size, q, sort, fields, name, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineSystemSettingServiceUpdateSystemSettingBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateSystemSetting(\n      id: number,\n      body: EngineSystemSettingServiceUpdateSystemSettingBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineSystemSetting>\n    > {\n      const localVarAxiosArgs = await SystemSettingServiceApiAxiosParamCreator(\n        configuration\n      ).updateSystemSetting(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * SystemSettingServiceApi - factory interface\n * @export\n */\nexport const SystemSettingServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {EngineCreateSystemSettingRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createSystemSetting(\n      body: EngineCreateSystemSettingRequest,\n      options?: any\n    ): AxiosPromise<EngineSystemSetting> {\n      return SystemSettingServiceApiFp(configuration)\n        .createSystemSetting(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteSystemSetting(\n      id: number,\n      options?: any\n    ): AxiosPromise<EngineSystemSetting> {\n      return SystemSettingServiceApiFp(configuration)\n        .deleteSystemSetting(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineSystemSettingServicePatchSystemSettingBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchSystemSetting(\n      id: number,\n      body: EngineSystemSettingServicePatchSystemSettingBody,\n      options?: any\n    ): AxiosPromise<EngineSystemSetting> {\n      return SystemSettingServiceApiFp(configuration)\n        .patchSystemSetting(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readSystemSetting(\n      id: number,\n      options?: any\n    ): AxiosPromise<EngineSystemSetting> {\n      return SystemSettingServiceApiFp(configuration)\n        .readSystemSetting(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAvailableSystemSetting(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<EngineListAvailableSystemSetting> {\n      return SystemSettingServiceApiFp(configuration)\n        .searchAvailableSystemSetting(page, size, q, sort, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<'empty_system_settings_name' | 'enable_omnichannel' | 'member_chunk_size' | 'amd_cancel_not_human' | 'scheme_version_limit' | 'enable_2fa' | 'export_settings' | 'search_number_length' | 'chat_ai_connection' | 'password_reg_exp' | 'password_validation_text' | 'autolink_call_to_contact' | 'period_to_playback_records' | 'is_fulltext_search_enabled' | 'wbt_hide_contact' | 'show_full_contact' | 'call_end_sound_notification' | 'call_end_push_notification' | 'chat_end_sound_notification' | 'chat_end_push_notification' | 'task_end_sound_notification' | 'task_end_push_notification' | 'push_notification_timeout' | 'labels_to_limit_contacts'>} [name] Filter by setting names\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchSystemSetting(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      name?: Array<\n        | 'empty_system_settings_name'\n        | 'enable_omnichannel'\n        | 'member_chunk_size'\n        | 'amd_cancel_not_human'\n        | 'scheme_version_limit'\n        | 'enable_2fa'\n        | 'export_settings'\n        | 'search_number_length'\n        | 'chat_ai_connection'\n        | 'password_reg_exp'\n        | 'password_validation_text'\n        | 'autolink_call_to_contact'\n        | 'period_to_playback_records'\n        | 'is_fulltext_search_enabled'\n        | 'wbt_hide_contact'\n        | 'show_full_contact'\n        | 'call_end_sound_notification'\n        | 'call_end_push_notification'\n        | 'chat_end_sound_notification'\n        | 'chat_end_push_notification'\n        | 'task_end_sound_notification'\n        | 'task_end_push_notification'\n        | 'push_notification_timeout'\n        | 'labels_to_limit_contacts'\n      >,\n      options?: any\n    ): AxiosPromise<EngineListSystemSetting> {\n      return SystemSettingServiceApiFp(configuration)\n        .searchSystemSetting(page, size, q, sort, fields, name, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineSystemSettingServiceUpdateSystemSettingBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateSystemSetting(\n      id: number,\n      body: EngineSystemSettingServiceUpdateSystemSettingBody,\n      options?: any\n    ): AxiosPromise<EngineSystemSetting> {\n      return SystemSettingServiceApiFp(configuration)\n        .updateSystemSetting(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * SystemSettingServiceApi - object-oriented interface\n * @export\n * @class SystemSettingServiceApi\n * @extends {BaseAPI}\n */\nexport class SystemSettingServiceApi extends BaseAPI {\n  /**\n   *\n   * @param {EngineCreateSystemSettingRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SystemSettingServiceApi\n   */\n  public createSystemSetting(\n    body: EngineCreateSystemSettingRequest,\n    options?: any\n  ) {\n    return SystemSettingServiceApiFp(this.configuration)\n      .createSystemSetting(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SystemSettingServiceApi\n   */\n  public deleteSystemSetting(id: number, options?: any) {\n    return SystemSettingServiceApiFp(this.configuration)\n      .deleteSystemSetting(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} id\n   * @param {EngineSystemSettingServicePatchSystemSettingBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SystemSettingServiceApi\n   */\n  public patchSystemSetting(\n    id: number,\n    body: EngineSystemSettingServicePatchSystemSettingBody,\n    options?: any\n  ) {\n    return SystemSettingServiceApiFp(this.configuration)\n      .patchSystemSetting(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SystemSettingServiceApi\n   */\n  public readSystemSetting(id: number, options?: any) {\n    return SystemSettingServiceApiFp(this.configuration)\n      .readSystemSetting(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SystemSettingServiceApi\n   */\n  public searchAvailableSystemSetting(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return SystemSettingServiceApiFp(this.configuration)\n      .searchAvailableSystemSetting(page, size, q, sort, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<'empty_system_settings_name' | 'enable_omnichannel' | 'member_chunk_size' | 'amd_cancel_not_human' | 'scheme_version_limit' | 'enable_2fa' | 'export_settings' | 'search_number_length' | 'chat_ai_connection' | 'password_reg_exp' | 'password_validation_text' | 'autolink_call_to_contact' | 'period_to_playback_records' | 'is_fulltext_search_enabled' | 'wbt_hide_contact' | 'show_full_contact' | 'call_end_sound_notification' | 'call_end_push_notification' | 'chat_end_sound_notification' | 'chat_end_push_notification' | 'task_end_sound_notification' | 'task_end_push_notification' | 'push_notification_timeout' | 'labels_to_limit_contacts'>} [name] Filter by setting names\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SystemSettingServiceApi\n   */\n  public searchSystemSetting(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    name?: Array<\n      | 'empty_system_settings_name'\n      | 'enable_omnichannel'\n      | 'member_chunk_size'\n      | 'amd_cancel_not_human'\n      | 'scheme_version_limit'\n      | 'enable_2fa'\n      | 'export_settings'\n      | 'search_number_length'\n      | 'chat_ai_connection'\n      | 'password_reg_exp'\n      | 'password_validation_text'\n      | 'autolink_call_to_contact'\n      | 'period_to_playback_records'\n      | 'is_fulltext_search_enabled'\n      | 'wbt_hide_contact'\n      | 'show_full_contact'\n      | 'call_end_sound_notification'\n      | 'call_end_push_notification'\n      | 'chat_end_sound_notification'\n      | 'chat_end_push_notification'\n      | 'task_end_sound_notification'\n      | 'task_end_push_notification'\n      | 'push_notification_timeout'\n      | 'labels_to_limit_contacts'\n    >,\n    options?: any\n  ) {\n    return SystemSettingServiceApiFp(this.configuration)\n      .searchSystemSetting(page, size, q, sort, fields, name, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} id\n   * @param {EngineSystemSettingServiceUpdateSystemSettingBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof SystemSettingServiceApi\n   */\n  public updateSystemSetting(\n    id: number,\n    body: EngineSystemSettingServiceUpdateSystemSettingBody,\n    options?: any\n  ) {\n    return SystemSettingServiceApiFp(this.configuration)\n      .updateSystemSetting(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { WebitelKnowledgebaseTagsList } from '../api'\n/**\n * TagsApi - axios parameter creator\n * @export\n */\nexport const TagsApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary List of the all Articles\\'s Tag(s).\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listTags: async (\n      page?: number,\n      size?: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/spaces/tags`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * TagsApi - functional programming interface\n * @export\n */\nexport const TagsApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary List of the all Articles\\'s Tag(s).\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async listTags(\n      page?: number,\n      size?: number,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelKnowledgebaseTagsList>\n    > {\n      const localVarAxiosArgs = await TagsApiAxiosParamCreator(\n        configuration\n      ).listTags(page, size, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * TagsApi - factory interface\n * @export\n */\nexport const TagsApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary List of the all Articles\\'s Tag(s).\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listTags(\n      page?: number,\n      size?: number,\n      options?: any\n    ): AxiosPromise<WebitelKnowledgebaseTagsList> {\n      return TagsApiFp(configuration)\n        .listTags(page, size, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * TagsApi - object-oriented interface\n * @export\n * @class TagsApi\n * @extends {BaseAPI}\n */\nexport class TagsApi extends BaseAPI {\n  /**\n   *\n   * @summary List of the all Articles\\'s Tag(s).\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof TagsApi\n   */\n  public listTags(page?: number, size?: number, options?: any) {\n    return TagsApiFp(this.configuration)\n      .listTags(page, size, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { EngineListTeamHook } from '../api'\n// @ts-ignore\nimport { EngineTeamHook } from '../api'\n// @ts-ignore\nimport { EngineTeamHookServiceCreateTeamHookBody } from '../api'\n// @ts-ignore\nimport { EngineTeamHookServicePatchTeamHookBody } from '../api'\n// @ts-ignore\nimport { EngineTeamHookServiceUpdateTeamHookBody } from '../api'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n/**\n * TeamHookServiceApi - axios parameter creator\n * @export\n */\nexport const TeamHookServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {string} teamId\n     * @param {EngineTeamHookServiceCreateTeamHookBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createTeamHook: async (\n      teamId: string,\n      body: EngineTeamHookServiceCreateTeamHookBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'teamId' is not null or undefined\n      if (teamId === null || teamId === undefined) {\n        throw new RequiredError(\n          'teamId',\n          'Required parameter teamId was null or undefined when calling createTeamHook.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createTeamHook.'\n        )\n      }\n      const localVarPath = `/call_center/teams/{team_id}/hooks`.replace(\n        `{${'team_id'}}`,\n        encodeURIComponent(String(teamId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} teamId\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteTeamHook: async (\n      teamId: string,\n      id: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'teamId' is not null or undefined\n      if (teamId === null || teamId === undefined) {\n        throw new RequiredError(\n          'teamId',\n          'Required parameter teamId was null or undefined when calling deleteTeamHook.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteTeamHook.'\n        )\n      }\n      const localVarPath = `/call_center/teams/{team_id}/hooks/{id}`\n        .replace(`{${'team_id'}}`, encodeURIComponent(String(teamId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} teamId\n     * @param {number} id\n     * @param {EngineTeamHookServicePatchTeamHookBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchTeamHook: async (\n      teamId: string,\n      id: number,\n      body: EngineTeamHookServicePatchTeamHookBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'teamId' is not null or undefined\n      if (teamId === null || teamId === undefined) {\n        throw new RequiredError(\n          'teamId',\n          'Required parameter teamId was null or undefined when calling patchTeamHook.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling patchTeamHook.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling patchTeamHook.'\n        )\n      }\n      const localVarPath = `/call_center/teams/{team_id}/hooks/{id}`\n        .replace(`{${'team_id'}}`, encodeURIComponent(String(teamId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} teamId\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readTeamHook: async (\n      teamId: string,\n      id: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'teamId' is not null or undefined\n      if (teamId === null || teamId === undefined) {\n        throw new RequiredError(\n          'teamId',\n          'Required parameter teamId was null or undefined when calling readTeamHook.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readTeamHook.'\n        )\n      }\n      const localVarPath = `/call_center/teams/{team_id}/hooks/{id}`\n        .replace(`{${'team_id'}}`, encodeURIComponent(String(teamId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} teamId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {Array<number>} [schemaId]\n     * @param {Array<'teamHookEventUndefined' | 'agent_status'>} [event]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchTeamHook: async (\n      teamId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      schemaId?: Array<number>,\n      event?: Array<'teamHookEventUndefined' | 'agent_status'>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'teamId' is not null or undefined\n      if (teamId === null || teamId === undefined) {\n        throw new RequiredError(\n          'teamId',\n          'Required parameter teamId was null or undefined when calling searchTeamHook.'\n        )\n      }\n      const localVarPath = `/call_center/teams/{team_id}/hooks`.replace(\n        `{${'team_id'}}`,\n        encodeURIComponent(String(teamId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (schemaId) {\n        localVarQueryParameter['schema_id'] = schemaId\n      }\n\n      if (event) {\n        localVarQueryParameter['event'] = event\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} teamId\n     * @param {number} id\n     * @param {EngineTeamHookServiceUpdateTeamHookBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateTeamHook: async (\n      teamId: string,\n      id: number,\n      body: EngineTeamHookServiceUpdateTeamHookBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'teamId' is not null or undefined\n      if (teamId === null || teamId === undefined) {\n        throw new RequiredError(\n          'teamId',\n          'Required parameter teamId was null or undefined when calling updateTeamHook.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateTeamHook.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateTeamHook.'\n        )\n      }\n      const localVarPath = `/call_center/teams/{team_id}/hooks/{id}`\n        .replace(`{${'team_id'}}`, encodeURIComponent(String(teamId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * TeamHookServiceApi - functional programming interface\n * @export\n */\nexport const TeamHookServiceApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @param {string} teamId\n     * @param {EngineTeamHookServiceCreateTeamHookBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createTeamHook(\n      teamId: string,\n      body: EngineTeamHookServiceCreateTeamHookBody,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineTeamHook>\n    > {\n      const localVarAxiosArgs = await TeamHookServiceApiAxiosParamCreator(\n        configuration\n      ).createTeamHook(teamId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} teamId\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteTeamHook(\n      teamId: string,\n      id: number,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineTeamHook>\n    > {\n      const localVarAxiosArgs = await TeamHookServiceApiAxiosParamCreator(\n        configuration\n      ).deleteTeamHook(teamId, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} teamId\n     * @param {number} id\n     * @param {EngineTeamHookServicePatchTeamHookBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async patchTeamHook(\n      teamId: string,\n      id: number,\n      body: EngineTeamHookServicePatchTeamHookBody,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineTeamHook>\n    > {\n      const localVarAxiosArgs = await TeamHookServiceApiAxiosParamCreator(\n        configuration\n      ).patchTeamHook(teamId, id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} teamId\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readTeamHook(\n      teamId: string,\n      id: number,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineTeamHook>\n    > {\n      const localVarAxiosArgs = await TeamHookServiceApiAxiosParamCreator(\n        configuration\n      ).readTeamHook(teamId, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} teamId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {Array<number>} [schemaId]\n     * @param {Array<'teamHookEventUndefined' | 'agent_status'>} [event]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchTeamHook(\n      teamId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      schemaId?: Array<number>,\n      event?: Array<'teamHookEventUndefined' | 'agent_status'>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListTeamHook>\n    > {\n      const localVarAxiosArgs = await TeamHookServiceApiAxiosParamCreator(\n        configuration\n      ).searchTeamHook(\n        teamId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        schemaId,\n        event,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} teamId\n     * @param {number} id\n     * @param {EngineTeamHookServiceUpdateTeamHookBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateTeamHook(\n      teamId: string,\n      id: number,\n      body: EngineTeamHookServiceUpdateTeamHookBody,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineTeamHook>\n    > {\n      const localVarAxiosArgs = await TeamHookServiceApiAxiosParamCreator(\n        configuration\n      ).updateTeamHook(teamId, id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * TeamHookServiceApi - factory interface\n * @export\n */\nexport const TeamHookServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {string} teamId\n     * @param {EngineTeamHookServiceCreateTeamHookBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createTeamHook(\n      teamId: string,\n      body: EngineTeamHookServiceCreateTeamHookBody,\n      options?: any\n    ): AxiosPromise<EngineTeamHook> {\n      return TeamHookServiceApiFp(configuration)\n        .createTeamHook(teamId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} teamId\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteTeamHook(\n      teamId: string,\n      id: number,\n      options?: any\n    ): AxiosPromise<EngineTeamHook> {\n      return TeamHookServiceApiFp(configuration)\n        .deleteTeamHook(teamId, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} teamId\n     * @param {number} id\n     * @param {EngineTeamHookServicePatchTeamHookBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchTeamHook(\n      teamId: string,\n      id: number,\n      body: EngineTeamHookServicePatchTeamHookBody,\n      options?: any\n    ): AxiosPromise<EngineTeamHook> {\n      return TeamHookServiceApiFp(configuration)\n        .patchTeamHook(teamId, id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} teamId\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readTeamHook(\n      teamId: string,\n      id: number,\n      options?: any\n    ): AxiosPromise<EngineTeamHook> {\n      return TeamHookServiceApiFp(configuration)\n        .readTeamHook(teamId, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} teamId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {Array<number>} [schemaId]\n     * @param {Array<'teamHookEventUndefined' | 'agent_status'>} [event]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchTeamHook(\n      teamId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      schemaId?: Array<number>,\n      event?: Array<'teamHookEventUndefined' | 'agent_status'>,\n      options?: any\n    ): AxiosPromise<EngineListTeamHook> {\n      return TeamHookServiceApiFp(configuration)\n        .searchTeamHook(\n          teamId,\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          id,\n          schemaId,\n          event,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} teamId\n     * @param {number} id\n     * @param {EngineTeamHookServiceUpdateTeamHookBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateTeamHook(\n      teamId: string,\n      id: number,\n      body: EngineTeamHookServiceUpdateTeamHookBody,\n      options?: any\n    ): AxiosPromise<EngineTeamHook> {\n      return TeamHookServiceApiFp(configuration)\n        .updateTeamHook(teamId, id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * TeamHookServiceApi - object-oriented interface\n * @export\n * @class TeamHookServiceApi\n * @extends {BaseAPI}\n */\nexport class TeamHookServiceApi extends BaseAPI {\n  /**\n   *\n   * @param {string} teamId\n   * @param {EngineTeamHookServiceCreateTeamHookBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof TeamHookServiceApi\n   */\n  public createTeamHook(\n    teamId: string,\n    body: EngineTeamHookServiceCreateTeamHookBody,\n    options?: any\n  ) {\n    return TeamHookServiceApiFp(this.configuration)\n      .createTeamHook(teamId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} teamId\n   * @param {number} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof TeamHookServiceApi\n   */\n  public deleteTeamHook(teamId: string, id: number, options?: any) {\n    return TeamHookServiceApiFp(this.configuration)\n      .deleteTeamHook(teamId, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} teamId\n   * @param {number} id\n   * @param {EngineTeamHookServicePatchTeamHookBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof TeamHookServiceApi\n   */\n  public patchTeamHook(\n    teamId: string,\n    id: number,\n    body: EngineTeamHookServicePatchTeamHookBody,\n    options?: any\n  ) {\n    return TeamHookServiceApiFp(this.configuration)\n      .patchTeamHook(teamId, id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} teamId\n   * @param {number} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof TeamHookServiceApi\n   */\n  public readTeamHook(teamId: string, id: number, options?: any) {\n    return TeamHookServiceApiFp(this.configuration)\n      .readTeamHook(teamId, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} teamId\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<number>} [id]\n   * @param {Array<number>} [schemaId]\n   * @param {Array<'teamHookEventUndefined' | 'agent_status'>} [event]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof TeamHookServiceApi\n   */\n  public searchTeamHook(\n    teamId: string,\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<number>,\n    schemaId?: Array<number>,\n    event?: Array<'teamHookEventUndefined' | 'agent_status'>,\n    options?: any\n  ) {\n    return TeamHookServiceApiFp(this.configuration)\n      .searchTeamHook(\n        teamId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        schemaId,\n        event,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} teamId\n   * @param {number} id\n   * @param {EngineTeamHookServiceUpdateTeamHookBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof TeamHookServiceApi\n   */\n  public updateTeamHook(\n    teamId: string,\n    id: number,\n    body: EngineTeamHookServiceUpdateTeamHookBody,\n    options?: any\n  ) {\n    return TeamHookServiceApiFp(this.configuration)\n      .updateTeamHook(teamId, id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { EngineListTeamTrigger } from '../api'\n// @ts-ignore\nimport { EngineRunTeamTriggerResponse } from '../api'\n// @ts-ignore\nimport { EngineTeamTrigger } from '../api'\n// @ts-ignore\nimport { EngineTeamTriggerServiceCreateTeamTriggerBody } from '../api'\n// @ts-ignore\nimport { EngineTeamTriggerServicePatchTeamTriggerBody } from '../api'\n// @ts-ignore\nimport { EngineTeamTriggerServiceRunTeamTriggerBody } from '../api'\n// @ts-ignore\nimport { EngineTeamTriggerServiceUpdateTeamTriggerBody } from '../api'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n/**\n * TeamTriggerServiceApi - axios parameter creator\n * @export\n */\nexport const TeamTriggerServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {string} teamId\n     * @param {EngineTeamTriggerServiceCreateTeamTriggerBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createTeamTrigger: async (\n      teamId: string,\n      body: EngineTeamTriggerServiceCreateTeamTriggerBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'teamId' is not null or undefined\n      if (teamId === null || teamId === undefined) {\n        throw new RequiredError(\n          'teamId',\n          'Required parameter teamId was null or undefined when calling createTeamTrigger.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createTeamTrigger.'\n        )\n      }\n      const localVarPath = `/call_center/teams/{team_id}/triggers`.replace(\n        `{${'team_id'}}`,\n        encodeURIComponent(String(teamId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} teamId\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteTeamTrigger: async (\n      teamId: string,\n      id: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'teamId' is not null or undefined\n      if (teamId === null || teamId === undefined) {\n        throw new RequiredError(\n          'teamId',\n          'Required parameter teamId was null or undefined when calling deleteTeamTrigger.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteTeamTrigger.'\n        )\n      }\n      const localVarPath = `/call_center/teams/{team_id}/triggers/{id}`\n        .replace(`{${'team_id'}}`, encodeURIComponent(String(teamId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} teamId\n     * @param {number} id\n     * @param {EngineTeamTriggerServicePatchTeamTriggerBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchTeamTrigger: async (\n      teamId: string,\n      id: number,\n      body: EngineTeamTriggerServicePatchTeamTriggerBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'teamId' is not null or undefined\n      if (teamId === null || teamId === undefined) {\n        throw new RequiredError(\n          'teamId',\n          'Required parameter teamId was null or undefined when calling patchTeamTrigger.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling patchTeamTrigger.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling patchTeamTrigger.'\n        )\n      }\n      const localVarPath = `/call_center/teams/{team_id}/triggers/{id}`\n        .replace(`{${'team_id'}}`, encodeURIComponent(String(teamId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} teamId\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readTeamTrigger: async (\n      teamId: string,\n      id: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'teamId' is not null or undefined\n      if (teamId === null || teamId === undefined) {\n        throw new RequiredError(\n          'teamId',\n          'Required parameter teamId was null or undefined when calling readTeamTrigger.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readTeamTrigger.'\n        )\n      }\n      const localVarPath = `/call_center/teams/{team_id}/triggers/{id}`\n        .replace(`{${'team_id'}}`, encodeURIComponent(String(teamId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} triggerId\n     * @param {EngineTeamTriggerServiceRunTeamTriggerBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    runTeamTrigger: async (\n      triggerId: number,\n      body: EngineTeamTriggerServiceRunTeamTriggerBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'triggerId' is not null or undefined\n      if (triggerId === null || triggerId === undefined) {\n        throw new RequiredError(\n          'triggerId',\n          'Required parameter triggerId was null or undefined when calling runTeamTrigger.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling runTeamTrigger.'\n        )\n      }\n      const localVarPath = `/call_center/teams/triggers/{trigger_id}`.replace(\n        `{${'trigger_id'}}`,\n        encodeURIComponent(String(triggerId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} [teamId]\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {boolean} [enabled]\n     * @param {Array<number>} [id]\n     * @param {Array<number>} [schemaId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAgentTrigger: async (\n      teamId?: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      enabled?: boolean,\n      id?: Array<number>,\n      schemaId?: Array<number>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/call_center/teams/triggers/agent`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (teamId !== undefined) {\n        localVarQueryParameter['team_id'] = teamId\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (enabled !== undefined) {\n        localVarQueryParameter['enabled'] = enabled\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (schemaId) {\n        localVarQueryParameter['schema_id'] = schemaId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} teamId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {boolean} [enabled]\n     * @param {Array<number>} [id]\n     * @param {Array<number>} [schemaId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchTeamTrigger: async (\n      teamId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      enabled?: boolean,\n      id?: Array<number>,\n      schemaId?: Array<number>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'teamId' is not null or undefined\n      if (teamId === null || teamId === undefined) {\n        throw new RequiredError(\n          'teamId',\n          'Required parameter teamId was null or undefined when calling searchTeamTrigger.'\n        )\n      }\n      const localVarPath = `/call_center/teams/{team_id}/triggers`.replace(\n        `{${'team_id'}}`,\n        encodeURIComponent(String(teamId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (enabled !== undefined) {\n        localVarQueryParameter['enabled'] = enabled\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (schemaId) {\n        localVarQueryParameter['schema_id'] = schemaId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} teamId\n     * @param {number} id\n     * @param {EngineTeamTriggerServiceUpdateTeamTriggerBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateTeamTrigger: async (\n      teamId: string,\n      id: number,\n      body: EngineTeamTriggerServiceUpdateTeamTriggerBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'teamId' is not null or undefined\n      if (teamId === null || teamId === undefined) {\n        throw new RequiredError(\n          'teamId',\n          'Required parameter teamId was null or undefined when calling updateTeamTrigger.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateTeamTrigger.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateTeamTrigger.'\n        )\n      }\n      const localVarPath = `/call_center/teams/{team_id}/triggers/{id}`\n        .replace(`{${'team_id'}}`, encodeURIComponent(String(teamId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * TeamTriggerServiceApi - functional programming interface\n * @export\n */\nexport const TeamTriggerServiceApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @param {string} teamId\n     * @param {EngineTeamTriggerServiceCreateTeamTriggerBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createTeamTrigger(\n      teamId: string,\n      body: EngineTeamTriggerServiceCreateTeamTriggerBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineTeamTrigger>\n    > {\n      const localVarAxiosArgs = await TeamTriggerServiceApiAxiosParamCreator(\n        configuration\n      ).createTeamTrigger(teamId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} teamId\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteTeamTrigger(\n      teamId: string,\n      id: number,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineTeamTrigger>\n    > {\n      const localVarAxiosArgs = await TeamTriggerServiceApiAxiosParamCreator(\n        configuration\n      ).deleteTeamTrigger(teamId, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} teamId\n     * @param {number} id\n     * @param {EngineTeamTriggerServicePatchTeamTriggerBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async patchTeamTrigger(\n      teamId: string,\n      id: number,\n      body: EngineTeamTriggerServicePatchTeamTriggerBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineTeamTrigger>\n    > {\n      const localVarAxiosArgs = await TeamTriggerServiceApiAxiosParamCreator(\n        configuration\n      ).patchTeamTrigger(teamId, id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} teamId\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readTeamTrigger(\n      teamId: string,\n      id: number,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineTeamTrigger>\n    > {\n      const localVarAxiosArgs = await TeamTriggerServiceApiAxiosParamCreator(\n        configuration\n      ).readTeamTrigger(teamId, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} triggerId\n     * @param {EngineTeamTriggerServiceRunTeamTriggerBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async runTeamTrigger(\n      triggerId: number,\n      body: EngineTeamTriggerServiceRunTeamTriggerBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineRunTeamTriggerResponse>\n    > {\n      const localVarAxiosArgs = await TeamTriggerServiceApiAxiosParamCreator(\n        configuration\n      ).runTeamTrigger(triggerId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} [teamId]\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {boolean} [enabled]\n     * @param {Array<number>} [id]\n     * @param {Array<number>} [schemaId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchAgentTrigger(\n      teamId?: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      enabled?: boolean,\n      id?: Array<number>,\n      schemaId?: Array<number>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListTeamTrigger>\n    > {\n      const localVarAxiosArgs = await TeamTriggerServiceApiAxiosParamCreator(\n        configuration\n      ).searchAgentTrigger(\n        teamId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        enabled,\n        id,\n        schemaId,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} teamId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {boolean} [enabled]\n     * @param {Array<number>} [id]\n     * @param {Array<number>} [schemaId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchTeamTrigger(\n      teamId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      enabled?: boolean,\n      id?: Array<number>,\n      schemaId?: Array<number>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListTeamTrigger>\n    > {\n      const localVarAxiosArgs = await TeamTriggerServiceApiAxiosParamCreator(\n        configuration\n      ).searchTeamTrigger(\n        teamId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        enabled,\n        id,\n        schemaId,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} teamId\n     * @param {number} id\n     * @param {EngineTeamTriggerServiceUpdateTeamTriggerBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateTeamTrigger(\n      teamId: string,\n      id: number,\n      body: EngineTeamTriggerServiceUpdateTeamTriggerBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineTeamTrigger>\n    > {\n      const localVarAxiosArgs = await TeamTriggerServiceApiAxiosParamCreator(\n        configuration\n      ).updateTeamTrigger(teamId, id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * TeamTriggerServiceApi - factory interface\n * @export\n */\nexport const TeamTriggerServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {string} teamId\n     * @param {EngineTeamTriggerServiceCreateTeamTriggerBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createTeamTrigger(\n      teamId: string,\n      body: EngineTeamTriggerServiceCreateTeamTriggerBody,\n      options?: any\n    ): AxiosPromise<EngineTeamTrigger> {\n      return TeamTriggerServiceApiFp(configuration)\n        .createTeamTrigger(teamId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} teamId\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteTeamTrigger(\n      teamId: string,\n      id: number,\n      options?: any\n    ): AxiosPromise<EngineTeamTrigger> {\n      return TeamTriggerServiceApiFp(configuration)\n        .deleteTeamTrigger(teamId, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} teamId\n     * @param {number} id\n     * @param {EngineTeamTriggerServicePatchTeamTriggerBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchTeamTrigger(\n      teamId: string,\n      id: number,\n      body: EngineTeamTriggerServicePatchTeamTriggerBody,\n      options?: any\n    ): AxiosPromise<EngineTeamTrigger> {\n      return TeamTriggerServiceApiFp(configuration)\n        .patchTeamTrigger(teamId, id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} teamId\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readTeamTrigger(\n      teamId: string,\n      id: number,\n      options?: any\n    ): AxiosPromise<EngineTeamTrigger> {\n      return TeamTriggerServiceApiFp(configuration)\n        .readTeamTrigger(teamId, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} triggerId\n     * @param {EngineTeamTriggerServiceRunTeamTriggerBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    runTeamTrigger(\n      triggerId: number,\n      body: EngineTeamTriggerServiceRunTeamTriggerBody,\n      options?: any\n    ): AxiosPromise<EngineRunTeamTriggerResponse> {\n      return TeamTriggerServiceApiFp(configuration)\n        .runTeamTrigger(triggerId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} [teamId]\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {boolean} [enabled]\n     * @param {Array<number>} [id]\n     * @param {Array<number>} [schemaId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchAgentTrigger(\n      teamId?: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      enabled?: boolean,\n      id?: Array<number>,\n      schemaId?: Array<number>,\n      options?: any\n    ): AxiosPromise<EngineListTeamTrigger> {\n      return TeamTriggerServiceApiFp(configuration)\n        .searchAgentTrigger(\n          teamId,\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          enabled,\n          id,\n          schemaId,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} teamId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {boolean} [enabled]\n     * @param {Array<number>} [id]\n     * @param {Array<number>} [schemaId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchTeamTrigger(\n      teamId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      enabled?: boolean,\n      id?: Array<number>,\n      schemaId?: Array<number>,\n      options?: any\n    ): AxiosPromise<EngineListTeamTrigger> {\n      return TeamTriggerServiceApiFp(configuration)\n        .searchTeamTrigger(\n          teamId,\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          enabled,\n          id,\n          schemaId,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} teamId\n     * @param {number} id\n     * @param {EngineTeamTriggerServiceUpdateTeamTriggerBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateTeamTrigger(\n      teamId: string,\n      id: number,\n      body: EngineTeamTriggerServiceUpdateTeamTriggerBody,\n      options?: any\n    ): AxiosPromise<EngineTeamTrigger> {\n      return TeamTriggerServiceApiFp(configuration)\n        .updateTeamTrigger(teamId, id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * TeamTriggerServiceApi - object-oriented interface\n * @export\n * @class TeamTriggerServiceApi\n * @extends {BaseAPI}\n */\nexport class TeamTriggerServiceApi extends BaseAPI {\n  /**\n   *\n   * @param {string} teamId\n   * @param {EngineTeamTriggerServiceCreateTeamTriggerBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof TeamTriggerServiceApi\n   */\n  public createTeamTrigger(\n    teamId: string,\n    body: EngineTeamTriggerServiceCreateTeamTriggerBody,\n    options?: any\n  ) {\n    return TeamTriggerServiceApiFp(this.configuration)\n      .createTeamTrigger(teamId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} teamId\n   * @param {number} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof TeamTriggerServiceApi\n   */\n  public deleteTeamTrigger(teamId: string, id: number, options?: any) {\n    return TeamTriggerServiceApiFp(this.configuration)\n      .deleteTeamTrigger(teamId, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} teamId\n   * @param {number} id\n   * @param {EngineTeamTriggerServicePatchTeamTriggerBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof TeamTriggerServiceApi\n   */\n  public patchTeamTrigger(\n    teamId: string,\n    id: number,\n    body: EngineTeamTriggerServicePatchTeamTriggerBody,\n    options?: any\n  ) {\n    return TeamTriggerServiceApiFp(this.configuration)\n      .patchTeamTrigger(teamId, id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} teamId\n   * @param {number} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof TeamTriggerServiceApi\n   */\n  public readTeamTrigger(teamId: string, id: number, options?: any) {\n    return TeamTriggerServiceApiFp(this.configuration)\n      .readTeamTrigger(teamId, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} triggerId\n   * @param {EngineTeamTriggerServiceRunTeamTriggerBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof TeamTriggerServiceApi\n   */\n  public runTeamTrigger(\n    triggerId: number,\n    body: EngineTeamTriggerServiceRunTeamTriggerBody,\n    options?: any\n  ) {\n    return TeamTriggerServiceApiFp(this.configuration)\n      .runTeamTrigger(triggerId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} [teamId]\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {boolean} [enabled]\n   * @param {Array<number>} [id]\n   * @param {Array<number>} [schemaId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof TeamTriggerServiceApi\n   */\n  public searchAgentTrigger(\n    teamId?: string,\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    enabled?: boolean,\n    id?: Array<number>,\n    schemaId?: Array<number>,\n    options?: any\n  ) {\n    return TeamTriggerServiceApiFp(this.configuration)\n      .searchAgentTrigger(\n        teamId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        enabled,\n        id,\n        schemaId,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} teamId\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {boolean} [enabled]\n   * @param {Array<number>} [id]\n   * @param {Array<number>} [schemaId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof TeamTriggerServiceApi\n   */\n  public searchTeamTrigger(\n    teamId: string,\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    enabled?: boolean,\n    id?: Array<number>,\n    schemaId?: Array<number>,\n    options?: any\n  ) {\n    return TeamTriggerServiceApiFp(this.configuration)\n      .searchTeamTrigger(\n        teamId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        enabled,\n        id,\n        schemaId,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} teamId\n   * @param {number} id\n   * @param {EngineTeamTriggerServiceUpdateTeamTriggerBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof TeamTriggerServiceApi\n   */\n  public updateTeamTrigger(\n    teamId: string,\n    id: number,\n    body: EngineTeamTriggerServiceUpdateTeamTriggerBody,\n    options?: any\n  ) {\n    return TeamTriggerServiceApiFp(this.configuration)\n      .updateTeamTrigger(teamId, id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { WebitelContactsGetTimelineCounterResponse } from '../api'\n// @ts-ignore\nimport { WebitelContactsGetTimelineResponse } from '../api'\n/**\n * TimelineApi - axios parameter creator\n * @export\n */\nexport const TimelineApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {string} contactId\n     * @param {string} [page]\n     * @param {string} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [ids]\n     * @param {string} [dateFrom]\n     * @param {string} [dateTo]\n     * @param {Array<'chat' | 'call' | 'email'>} [type]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getTimeline: async (\n      contactId: string,\n      page?: string,\n      size?: string,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      ids?: Array<string>,\n      dateFrom?: string,\n      dateTo?: string,\n      type?: Array<'chat' | 'call' | 'email'>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling getTimeline.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/timeline`.replace(\n        `{${'contact_id'}}`,\n        encodeURIComponent(String(contactId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (ids) {\n        localVarQueryParameter['ids'] = ids\n      }\n\n      if (dateFrom !== undefined) {\n        localVarQueryParameter['date_from'] = dateFrom\n      }\n\n      if (dateTo !== undefined) {\n        localVarQueryParameter['date_to'] = dateTo\n      }\n\n      if (type) {\n        localVarQueryParameter['type'] = type\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} contactId\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getTimelineCounter: async (\n      contactId: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling getTimelineCounter.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/timeline/counter`.replace(\n        `{${'contact_id'}}`,\n        encodeURIComponent(String(contactId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * TimelineApi - functional programming interface\n * @export\n */\nexport const TimelineApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @param {string} contactId\n     * @param {string} [page]\n     * @param {string} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [ids]\n     * @param {string} [dateFrom]\n     * @param {string} [dateTo]\n     * @param {Array<'chat' | 'call' | 'email'>} [type]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getTimeline(\n      contactId: string,\n      page?: string,\n      size?: string,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      ids?: Array<string>,\n      dateFrom?: string,\n      dateTo?: string,\n      type?: Array<'chat' | 'call' | 'email'>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsGetTimelineResponse>\n    > {\n      const localVarAxiosArgs = await TimelineApiAxiosParamCreator(\n        configuration\n      ).getTimeline(\n        contactId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        ids,\n        dateFrom,\n        dateTo,\n        type,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} contactId\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getTimelineCounter(\n      contactId: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsGetTimelineCounterResponse>\n    > {\n      const localVarAxiosArgs = await TimelineApiAxiosParamCreator(\n        configuration\n      ).getTimelineCounter(contactId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * TimelineApi - factory interface\n * @export\n */\nexport const TimelineApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {string} contactId\n     * @param {string} [page]\n     * @param {string} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<string>} [ids]\n     * @param {string} [dateFrom]\n     * @param {string} [dateTo]\n     * @param {Array<'chat' | 'call' | 'email'>} [type]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getTimeline(\n      contactId: string,\n      page?: string,\n      size?: string,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      ids?: Array<string>,\n      dateFrom?: string,\n      dateTo?: string,\n      type?: Array<'chat' | 'call' | 'email'>,\n      options?: any\n    ): AxiosPromise<WebitelContactsGetTimelineResponse> {\n      return TimelineApiFp(configuration)\n        .getTimeline(\n          contactId,\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          ids,\n          dateFrom,\n          dateTo,\n          type,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} contactId\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getTimelineCounter(\n      contactId: string,\n      options?: any\n    ): AxiosPromise<WebitelContactsGetTimelineCounterResponse> {\n      return TimelineApiFp(configuration)\n        .getTimelineCounter(contactId, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * TimelineApi - object-oriented interface\n * @export\n * @class TimelineApi\n * @extends {BaseAPI}\n */\nexport class TimelineApi extends BaseAPI {\n  /**\n   *\n   * @param {string} contactId\n   * @param {string} [page]\n   * @param {string} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<string>} [ids]\n   * @param {string} [dateFrom]\n   * @param {string} [dateTo]\n   * @param {Array<'chat' | 'call' | 'email'>} [type]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof TimelineApi\n   */\n  public getTimeline(\n    contactId: string,\n    page?: string,\n    size?: string,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    ids?: Array<string>,\n    dateFrom?: string,\n    dateTo?: string,\n    type?: Array<'chat' | 'call' | 'email'>,\n    options?: any\n  ) {\n    return TimelineApiFp(this.configuration)\n      .getTimeline(\n        contactId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        ids,\n        dateFrom,\n        dateTo,\n        type,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} contactId\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof TimelineApi\n   */\n  public getTimelineCounter(contactId: string, options?: any) {\n    return TimelineApiFp(this.configuration)\n      .getTimelineCounter(contactId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { NEWUpdateOfTheTimezoneLink } from '../api'\n// @ts-ignore\nimport { NEWUpdateOfTheTimezoneLink1 } from '../api'\n// @ts-ignore\nimport { WebitelContactsInputTimezone } from '../api'\n// @ts-ignore\nimport { WebitelContactsTimezone } from '../api'\n// @ts-ignore\nimport { WebitelContactsTimezoneList } from '../api'\n/**\n * TimezonesApi - axios parameter creator\n * @export\n */\nexport const TimezonesApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Remove the Contact\\'s timezone association.\n     * @param {string} contactId Contact ID associated with.\n     * @param {string} etag Unique ID to remove.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteTimezone: async (\n      contactId: string,\n      etag: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling deleteTimezone.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling deleteTimezone.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/timezones/{etag}`\n        .replace(`{${'contact_id'}}`, encodeURIComponent(String(contactId)))\n        .replace(`{${'etag'}}`, encodeURIComponent(String(etag)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Remove the Contact\\'s timezone(s).\n     * @param {string} contactId Contact ID associated with.\n     * @param {Array<string>} etag Set of unique ID(s) to remove.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteTimezones: async (\n      contactId: string,\n      etag: Array<string>,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling deleteTimezones.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling deleteTimezones.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/timezones`.replace(\n        `{${'contact_id'}}`,\n        encodeURIComponent(String(contactId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (etag) {\n        localVarQueryParameter['etag'] = etag\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary List of the Contact\\'s timezone(s).\n     * @param {string} contactId Contact ID associated with.\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {string} [q] Search term: location name; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {Array<string>} [id] Record(s) with unique ID only.\n     * @param {boolean} [primary] Primary timezone only.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listTimezones: async (\n      contactId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      primary?: boolean,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling listTimezones.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/timezones`.replace(\n        `{${'contact_id'}}`,\n        encodeURIComponent(String(contactId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (primary !== undefined) {\n        localVarQueryParameter['primary'] = primary\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Locate the Contact\\'s timezone association.\n     * @param {string} contactId Contact source ID.\n     * @param {string} etag Unique timezone link IDentifier. Accept: &#x60;etag&#x60; (obsolete+) or &#x60;id&#x60;.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateTimezone: async (\n      contactId: string,\n      etag: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling locateTimezone.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling locateTimezone.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/timezones/{etag}`\n        .replace(`{${'contact_id'}}`, encodeURIComponent(String(contactId)))\n        .replace(`{${'etag'}}`, encodeURIComponent(String(etag)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Associate more timezone(s) with the Contact.\n     * @param {string} contactId Link contact ID.\n     * @param {Array<WebitelContactsInputTimezone>} input Array of the unique User(s) to associate with the Contact. Any duplicate of an already linked user{id} will result in an error.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    mergeTimezones: async (\n      contactId: string,\n      input: Array<WebitelContactsInputTimezone>,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling mergeTimezones.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling mergeTimezones.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/timezones`.replace(\n        `{${'contact_id'}}`,\n        encodeURIComponent(String(contactId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Resets all timezones of the contact according to the input dataset.\n     * @param {string} contactId Link contact ID.\n     * @param {Array<WebitelContactsInputTimezone>} input Final set of timezone(s) to be linked with the contact. Timezone(s) that are already linked with the contact but not given in here will be removed.\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    resetTimezones: async (\n      contactId: string,\n      input: Array<WebitelContactsInputTimezone>,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling resetTimezones.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling resetTimezones.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/timezones`.replace(\n        `{${'contact_id'}}`,\n        encodeURIComponent(String(contactId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update the Contact\\'s timezone details.\n     * @param {string} contactId Link contact ID.\n     * @param {string} etag Unique ID of the latest version of an existing resource.\n     * @param {NEWUpdateOfTheTimezoneLink} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateTimezone: async (\n      contactId: string,\n      etag: string,\n      input: NEWUpdateOfTheTimezoneLink,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling updateTimezone.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling updateTimezone.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateTimezone.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/timezones/{etag}`\n        .replace(`{${'contact_id'}}`, encodeURIComponent(String(contactId)))\n        .replace(`{${'etag'}}`, encodeURIComponent(String(etag)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update the Contact\\'s timezone details.\n     * @param {string} contactId Link contact ID.\n     * @param {string} etag Unique ID of the latest version of an existing resource.\n     * @param {NEWUpdateOfTheTimezoneLink1} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateTimezone2: async (\n      contactId: string,\n      etag: string,\n      input: NEWUpdateOfTheTimezoneLink1,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling updateTimezone2.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling updateTimezone2.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateTimezone2.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/timezones/{etag}`\n        .replace(`{${'contact_id'}}`, encodeURIComponent(String(contactId)))\n        .replace(`{${'etag'}}`, encodeURIComponent(String(etag)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * TimezonesApi - functional programming interface\n * @export\n */\nexport const TimezonesApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Remove the Contact\\'s timezone association.\n     * @param {string} contactId Contact ID associated with.\n     * @param {string} etag Unique ID to remove.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteTimezone(\n      contactId: string,\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsTimezone>\n    > {\n      const localVarAxiosArgs = await TimezonesApiAxiosParamCreator(\n        configuration\n      ).deleteTimezone(contactId, etag, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Remove the Contact\\'s timezone(s).\n     * @param {string} contactId Contact ID associated with.\n     * @param {Array<string>} etag Set of unique ID(s) to remove.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteTimezones(\n      contactId: string,\n      etag: Array<string>,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsTimezoneList>\n    > {\n      const localVarAxiosArgs = await TimezonesApiAxiosParamCreator(\n        configuration\n      ).deleteTimezones(contactId, etag, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary List of the Contact\\'s timezone(s).\n     * @param {string} contactId Contact ID associated with.\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {string} [q] Search term: location name; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {Array<string>} [id] Record(s) with unique ID only.\n     * @param {boolean} [primary] Primary timezone only.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async listTimezones(\n      contactId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      primary?: boolean,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsTimezoneList>\n    > {\n      const localVarAxiosArgs = await TimezonesApiAxiosParamCreator(\n        configuration\n      ).listTimezones(\n        contactId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        primary,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Locate the Contact\\'s timezone association.\n     * @param {string} contactId Contact source ID.\n     * @param {string} etag Unique timezone link IDentifier. Accept: &#x60;etag&#x60; (obsolete+) or &#x60;id&#x60;.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async locateTimezone(\n      contactId: string,\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsTimezone>\n    > {\n      const localVarAxiosArgs = await TimezonesApiAxiosParamCreator(\n        configuration\n      ).locateTimezone(contactId, etag, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Associate more timezone(s) with the Contact.\n     * @param {string} contactId Link contact ID.\n     * @param {Array<WebitelContactsInputTimezone>} input Array of the unique User(s) to associate with the Contact. Any duplicate of an already linked user{id} will result in an error.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async mergeTimezones(\n      contactId: string,\n      input: Array<WebitelContactsInputTimezone>,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsTimezoneList>\n    > {\n      const localVarAxiosArgs = await TimezonesApiAxiosParamCreator(\n        configuration\n      ).mergeTimezones(contactId, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Resets all timezones of the contact according to the input dataset.\n     * @param {string} contactId Link contact ID.\n     * @param {Array<WebitelContactsInputTimezone>} input Final set of timezone(s) to be linked with the contact. Timezone(s) that are already linked with the contact but not given in here will be removed.\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async resetTimezones(\n      contactId: string,\n      input: Array<WebitelContactsInputTimezone>,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsTimezoneList>\n    > {\n      const localVarAxiosArgs = await TimezonesApiAxiosParamCreator(\n        configuration\n      ).resetTimezones(contactId, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update the Contact\\'s timezone details.\n     * @param {string} contactId Link contact ID.\n     * @param {string} etag Unique ID of the latest version of an existing resource.\n     * @param {NEWUpdateOfTheTimezoneLink} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateTimezone(\n      contactId: string,\n      etag: string,\n      input: NEWUpdateOfTheTimezoneLink,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsTimezoneList>\n    > {\n      const localVarAxiosArgs = await TimezonesApiAxiosParamCreator(\n        configuration\n      ).updateTimezone(contactId, etag, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update the Contact\\'s timezone details.\n     * @param {string} contactId Link contact ID.\n     * @param {string} etag Unique ID of the latest version of an existing resource.\n     * @param {NEWUpdateOfTheTimezoneLink1} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateTimezone2(\n      contactId: string,\n      etag: string,\n      input: NEWUpdateOfTheTimezoneLink1,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsTimezoneList>\n    > {\n      const localVarAxiosArgs = await TimezonesApiAxiosParamCreator(\n        configuration\n      ).updateTimezone2(contactId, etag, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * TimezonesApi - factory interface\n * @export\n */\nexport const TimezonesApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Remove the Contact\\'s timezone association.\n     * @param {string} contactId Contact ID associated with.\n     * @param {string} etag Unique ID to remove.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteTimezone(\n      contactId: string,\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsTimezone> {\n      return TimezonesApiFp(configuration)\n        .deleteTimezone(contactId, etag, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Remove the Contact\\'s timezone(s).\n     * @param {string} contactId Contact ID associated with.\n     * @param {Array<string>} etag Set of unique ID(s) to remove.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteTimezones(\n      contactId: string,\n      etag: Array<string>,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsTimezoneList> {\n      return TimezonesApiFp(configuration)\n        .deleteTimezones(contactId, etag, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary List of the Contact\\'s timezone(s).\n     * @param {string} contactId Contact ID associated with.\n     * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n     * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n     * @param {string} [q] Search term: location name; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {Array<string>} [id] Record(s) with unique ID only.\n     * @param {boolean} [primary] Primary timezone only.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listTimezones(\n      contactId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      primary?: boolean,\n      options?: any\n    ): AxiosPromise<WebitelContactsTimezoneList> {\n      return TimezonesApiFp(configuration)\n        .listTimezones(\n          contactId,\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          id,\n          primary,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Locate the Contact\\'s timezone association.\n     * @param {string} contactId Contact source ID.\n     * @param {string} etag Unique timezone link IDentifier. Accept: &#x60;etag&#x60; (obsolete+) or &#x60;id&#x60;.\n     * @param {Array<string>} [fields] Fields to be retrieved into result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locateTimezone(\n      contactId: string,\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsTimezone> {\n      return TimezonesApiFp(configuration)\n        .locateTimezone(contactId, etag, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Associate more timezone(s) with the Contact.\n     * @param {string} contactId Link contact ID.\n     * @param {Array<WebitelContactsInputTimezone>} input Array of the unique User(s) to associate with the Contact. Any duplicate of an already linked user{id} will result in an error.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    mergeTimezones(\n      contactId: string,\n      input: Array<WebitelContactsInputTimezone>,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsTimezoneList> {\n      return TimezonesApiFp(configuration)\n        .mergeTimezones(contactId, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Resets all timezones of the contact according to the input dataset.\n     * @param {string} contactId Link contact ID.\n     * @param {Array<WebitelContactsInputTimezone>} input Final set of timezone(s) to be linked with the contact. Timezone(s) that are already linked with the contact but not given in here will be removed.\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    resetTimezones(\n      contactId: string,\n      input: Array<WebitelContactsInputTimezone>,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsTimezoneList> {\n      return TimezonesApiFp(configuration)\n        .resetTimezones(contactId, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update the Contact\\'s timezone details.\n     * @param {string} contactId Link contact ID.\n     * @param {string} etag Unique ID of the latest version of an existing resource.\n     * @param {NEWUpdateOfTheTimezoneLink} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateTimezone(\n      contactId: string,\n      etag: string,\n      input: NEWUpdateOfTheTimezoneLink,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsTimezoneList> {\n      return TimezonesApiFp(configuration)\n        .updateTimezone(contactId, etag, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update the Contact\\'s timezone details.\n     * @param {string} contactId Link contact ID.\n     * @param {string} etag Unique ID of the latest version of an existing resource.\n     * @param {NEWUpdateOfTheTimezoneLink1} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateTimezone2(\n      contactId: string,\n      etag: string,\n      input: NEWUpdateOfTheTimezoneLink1,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsTimezoneList> {\n      return TimezonesApiFp(configuration)\n        .updateTimezone2(contactId, etag, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * TimezonesApi - object-oriented interface\n * @export\n * @class TimezonesApi\n * @extends {BaseAPI}\n */\nexport class TimezonesApi extends BaseAPI {\n  /**\n   *\n   * @summary Remove the Contact\\'s timezone association.\n   * @param {string} contactId Contact ID associated with.\n   * @param {string} etag Unique ID to remove.\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof TimezonesApi\n   */\n  public deleteTimezone(\n    contactId: string,\n    etag: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return TimezonesApiFp(this.configuration)\n      .deleteTimezone(contactId, etag, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Remove the Contact\\'s timezone(s).\n   * @param {string} contactId Contact ID associated with.\n   * @param {Array<string>} etag Set of unique ID(s) to remove.\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof TimezonesApi\n   */\n  public deleteTimezones(\n    contactId: string,\n    etag: Array<string>,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return TimezonesApiFp(this.configuration)\n      .deleteTimezones(contactId, etag, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary List of the Contact\\'s timezone(s).\n   * @param {string} contactId Contact ID associated with.\n   * @param {number} [page] Page number of result dataset records. offset &#x3D; (page*size)\n   * @param {number} [size] Size count of records on result page. limit &#x3D; (size++)\n   * @param {string} [q] Search term: location name; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n   * @param {Array<string>} [sort] Sort the result according to fields.\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {Array<string>} [id] Record(s) with unique ID only.\n   * @param {boolean} [primary] Primary timezone only.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof TimezonesApi\n   */\n  public listTimezones(\n    contactId: string,\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: Array<string>,\n    fields?: Array<string>,\n    id?: Array<string>,\n    primary?: boolean,\n    options?: any\n  ) {\n    return TimezonesApiFp(this.configuration)\n      .listTimezones(\n        contactId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        id,\n        primary,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Locate the Contact\\'s timezone association.\n   * @param {string} contactId Contact source ID.\n   * @param {string} etag Unique timezone link IDentifier. Accept: &#x60;etag&#x60; (obsolete+) or &#x60;id&#x60;.\n   * @param {Array<string>} [fields] Fields to be retrieved into result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof TimezonesApi\n   */\n  public locateTimezone(\n    contactId: string,\n    etag: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return TimezonesApiFp(this.configuration)\n      .locateTimezone(contactId, etag, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Associate more timezone(s) with the Contact.\n   * @param {string} contactId Link contact ID.\n   * @param {Array<WebitelContactsInputTimezone>} input Array of the unique User(s) to associate with the Contact. Any duplicate of an already linked user{id} will result in an error.\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof TimezonesApi\n   */\n  public mergeTimezones(\n    contactId: string,\n    input: Array<WebitelContactsInputTimezone>,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return TimezonesApiFp(this.configuration)\n      .mergeTimezones(contactId, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Resets all timezones of the contact according to the input dataset.\n   * @param {string} contactId Link contact ID.\n   * @param {Array<WebitelContactsInputTimezone>} input Final set of timezone(s) to be linked with the contact. Timezone(s) that are already linked with the contact but not given in here will be removed.\n   * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof TimezonesApi\n   */\n  public resetTimezones(\n    contactId: string,\n    input: Array<WebitelContactsInputTimezone>,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return TimezonesApiFp(this.configuration)\n      .resetTimezones(contactId, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update the Contact\\'s timezone details.\n   * @param {string} contactId Link contact ID.\n   * @param {string} etag Unique ID of the latest version of an existing resource.\n   * @param {NEWUpdateOfTheTimezoneLink} input\n   * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof TimezonesApi\n   */\n  public updateTimezone(\n    contactId: string,\n    etag: string,\n    input: NEWUpdateOfTheTimezoneLink,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return TimezonesApiFp(this.configuration)\n      .updateTimezone(contactId, etag, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update the Contact\\'s timezone details.\n   * @param {string} contactId Link contact ID.\n   * @param {string} etag Unique ID of the latest version of an existing resource.\n   * @param {NEWUpdateOfTheTimezoneLink1} input\n   * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof TimezonesApi\n   */\n  public updateTimezone2(\n    contactId: string,\n    etag: string,\n    input: NEWUpdateOfTheTimezoneLink1,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return TimezonesApiFp(this.configuration)\n      .updateTimezone2(contactId, etag, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { EngineCreateTriggerRequest } from '../api'\n// @ts-ignore\nimport { EngineListTrigger } from '../api'\n// @ts-ignore\nimport { EngineListTriggerJob } from '../api'\n// @ts-ignore\nimport { EngineTrigger } from '../api'\n// @ts-ignore\nimport { EngineTriggerJob } from '../api'\n// @ts-ignore\nimport { EngineTriggerServiceCreateTriggerJobBody } from '../api'\n// @ts-ignore\nimport { EngineTriggerServicePatchTriggerBody } from '../api'\n// @ts-ignore\nimport { EngineTriggerServiceUpdateTriggerBody } from '../api'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n/**\n * TriggerServiceApi - axios parameter creator\n * @export\n */\nexport const TriggerServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create Trigger\n     * @param {EngineCreateTriggerRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createTrigger: async (\n      body: EngineCreateTriggerRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createTrigger.'\n        )\n      }\n      const localVarPath = `/trigger`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} triggerId\n     * @param {EngineTriggerServiceCreateTriggerJobBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createTriggerJob: async (\n      triggerId: number,\n      body: EngineTriggerServiceCreateTriggerJobBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'triggerId' is not null or undefined\n      if (triggerId === null || triggerId === undefined) {\n        throw new RequiredError(\n          'triggerId',\n          'Required parameter triggerId was null or undefined when calling createTriggerJob.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createTriggerJob.'\n        )\n      }\n      const localVarPath = `/trigger/{trigger_id}/job`.replace(\n        `{${'trigger_id'}}`,\n        encodeURIComponent(String(triggerId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Remove Trigger\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteTrigger: async (\n      id: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteTrigger.'\n        )\n      }\n      const localVarPath = `/trigger/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineTriggerServicePatchTriggerBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchTrigger: async (\n      id: number,\n      body: EngineTriggerServicePatchTriggerBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling patchTrigger.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling patchTrigger.'\n        )\n      }\n      const localVarPath = `/trigger/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Trigger item\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readTrigger: async (\n      id: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readTrigger.'\n        )\n      }\n      const localVarPath = `/trigger/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary List of Trigger\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {Array<number>} [schemaId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchTrigger: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      schemaId?: Array<number>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/trigger`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (schemaId) {\n        localVarQueryParameter['schema_id'] = schemaId\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} triggerId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {string} [createdAtFrom]\n     * @param {string} [createdAtTo]\n     * @param {string} [startedAtFrom]\n     * @param {string} [startedAtTo]\n     * @param {string} [durationFrom]\n     * @param {string} [durationTo]\n     * @param {Array<'idle' | 'active' | 'done' | 'error'>} [state]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchTriggerJob: async (\n      triggerId: number,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      createdAtFrom?: string,\n      createdAtTo?: string,\n      startedAtFrom?: string,\n      startedAtTo?: string,\n      durationFrom?: string,\n      durationTo?: string,\n      state?: Array<'idle' | 'active' | 'done' | 'error'>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'triggerId' is not null or undefined\n      if (triggerId === null || triggerId === undefined) {\n        throw new RequiredError(\n          'triggerId',\n          'Required parameter triggerId was null or undefined when calling searchTriggerJob.'\n        )\n      }\n      const localVarPath = `/trigger/{trigger_id}/job`.replace(\n        `{${'trigger_id'}}`,\n        encodeURIComponent(String(triggerId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (createdAtFrom !== undefined) {\n        localVarQueryParameter['created_at.from'] = createdAtFrom\n      }\n\n      if (createdAtTo !== undefined) {\n        localVarQueryParameter['created_at.to'] = createdAtTo\n      }\n\n      if (startedAtFrom !== undefined) {\n        localVarQueryParameter['started_at.from'] = startedAtFrom\n      }\n\n      if (startedAtTo !== undefined) {\n        localVarQueryParameter['started_at.to'] = startedAtTo\n      }\n\n      if (durationFrom !== undefined) {\n        localVarQueryParameter['duration.from'] = durationFrom\n      }\n\n      if (durationTo !== undefined) {\n        localVarQueryParameter['duration.to'] = durationTo\n      }\n\n      if (state) {\n        localVarQueryParameter['state'] = state\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update Trigger\n     * @param {number} id\n     * @param {EngineTriggerServiceUpdateTriggerBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateTrigger: async (\n      id: number,\n      body: EngineTriggerServiceUpdateTriggerBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateTrigger.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateTrigger.'\n        )\n      }\n      const localVarPath = `/trigger/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * TriggerServiceApi - functional programming interface\n * @export\n */\nexport const TriggerServiceApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Create Trigger\n     * @param {EngineCreateTriggerRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createTrigger(\n      body: EngineCreateTriggerRequest,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineTrigger>\n    > {\n      const localVarAxiosArgs = await TriggerServiceApiAxiosParamCreator(\n        configuration\n      ).createTrigger(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} triggerId\n     * @param {EngineTriggerServiceCreateTriggerJobBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createTriggerJob(\n      triggerId: number,\n      body: EngineTriggerServiceCreateTriggerJobBody,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineTriggerJob>\n    > {\n      const localVarAxiosArgs = await TriggerServiceApiAxiosParamCreator(\n        configuration\n      ).createTriggerJob(triggerId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Remove Trigger\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteTrigger(\n      id: number,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineTrigger>\n    > {\n      const localVarAxiosArgs = await TriggerServiceApiAxiosParamCreator(\n        configuration\n      ).deleteTrigger(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineTriggerServicePatchTriggerBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async patchTrigger(\n      id: number,\n      body: EngineTriggerServicePatchTriggerBody,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineTrigger>\n    > {\n      const localVarAxiosArgs = await TriggerServiceApiAxiosParamCreator(\n        configuration\n      ).patchTrigger(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Trigger item\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readTrigger(\n      id: number,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineTrigger>\n    > {\n      const localVarAxiosArgs = await TriggerServiceApiAxiosParamCreator(\n        configuration\n      ).readTrigger(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary List of Trigger\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {Array<number>} [schemaId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchTrigger(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      schemaId?: Array<number>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListTrigger>\n    > {\n      const localVarAxiosArgs = await TriggerServiceApiAxiosParamCreator(\n        configuration\n      ).searchTrigger(page, size, q, sort, fields, id, schemaId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} triggerId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {string} [createdAtFrom]\n     * @param {string} [createdAtTo]\n     * @param {string} [startedAtFrom]\n     * @param {string} [startedAtTo]\n     * @param {string} [durationFrom]\n     * @param {string} [durationTo]\n     * @param {Array<'idle' | 'active' | 'done' | 'error'>} [state]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchTriggerJob(\n      triggerId: number,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      createdAtFrom?: string,\n      createdAtTo?: string,\n      startedAtFrom?: string,\n      startedAtTo?: string,\n      durationFrom?: string,\n      durationTo?: string,\n      state?: Array<'idle' | 'active' | 'done' | 'error'>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListTriggerJob>\n    > {\n      const localVarAxiosArgs = await TriggerServiceApiAxiosParamCreator(\n        configuration\n      ).searchTriggerJob(\n        triggerId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        createdAtFrom,\n        createdAtTo,\n        startedAtFrom,\n        startedAtTo,\n        durationFrom,\n        durationTo,\n        state,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update Trigger\n     * @param {number} id\n     * @param {EngineTriggerServiceUpdateTriggerBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateTrigger(\n      id: number,\n      body: EngineTriggerServiceUpdateTriggerBody,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineTrigger>\n    > {\n      const localVarAxiosArgs = await TriggerServiceApiAxiosParamCreator(\n        configuration\n      ).updateTrigger(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * TriggerServiceApi - factory interface\n * @export\n */\nexport const TriggerServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Create Trigger\n     * @param {EngineCreateTriggerRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createTrigger(\n      body: EngineCreateTriggerRequest,\n      options?: any\n    ): AxiosPromise<EngineTrigger> {\n      return TriggerServiceApiFp(configuration)\n        .createTrigger(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} triggerId\n     * @param {EngineTriggerServiceCreateTriggerJobBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createTriggerJob(\n      triggerId: number,\n      body: EngineTriggerServiceCreateTriggerJobBody,\n      options?: any\n    ): AxiosPromise<EngineTriggerJob> {\n      return TriggerServiceApiFp(configuration)\n        .createTriggerJob(triggerId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Remove Trigger\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteTrigger(id: number, options?: any): AxiosPromise<EngineTrigger> {\n      return TriggerServiceApiFp(configuration)\n        .deleteTrigger(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} id\n     * @param {EngineTriggerServicePatchTriggerBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchTrigger(\n      id: number,\n      body: EngineTriggerServicePatchTriggerBody,\n      options?: any\n    ): AxiosPromise<EngineTrigger> {\n      return TriggerServiceApiFp(configuration)\n        .patchTrigger(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Trigger item\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readTrigger(id: number, options?: any): AxiosPromise<EngineTrigger> {\n      return TriggerServiceApiFp(configuration)\n        .readTrigger(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary List of Trigger\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {Array<number>} [schemaId]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchTrigger(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      schemaId?: Array<number>,\n      options?: any\n    ): AxiosPromise<EngineListTrigger> {\n      return TriggerServiceApiFp(configuration)\n        .searchTrigger(page, size, q, sort, fields, id, schemaId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} triggerId\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {string} [createdAtFrom]\n     * @param {string} [createdAtTo]\n     * @param {string} [startedAtFrom]\n     * @param {string} [startedAtTo]\n     * @param {string} [durationFrom]\n     * @param {string} [durationTo]\n     * @param {Array<'idle' | 'active' | 'done' | 'error'>} [state]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchTriggerJob(\n      triggerId: number,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      createdAtFrom?: string,\n      createdAtTo?: string,\n      startedAtFrom?: string,\n      startedAtTo?: string,\n      durationFrom?: string,\n      durationTo?: string,\n      state?: Array<'idle' | 'active' | 'done' | 'error'>,\n      options?: any\n    ): AxiosPromise<EngineListTriggerJob> {\n      return TriggerServiceApiFp(configuration)\n        .searchTriggerJob(\n          triggerId,\n          page,\n          size,\n          q,\n          sort,\n          fields,\n          createdAtFrom,\n          createdAtTo,\n          startedAtFrom,\n          startedAtTo,\n          durationFrom,\n          durationTo,\n          state,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update Trigger\n     * @param {number} id\n     * @param {EngineTriggerServiceUpdateTriggerBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateTrigger(\n      id: number,\n      body: EngineTriggerServiceUpdateTriggerBody,\n      options?: any\n    ): AxiosPromise<EngineTrigger> {\n      return TriggerServiceApiFp(configuration)\n        .updateTrigger(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * TriggerServiceApi - object-oriented interface\n * @export\n * @class TriggerServiceApi\n * @extends {BaseAPI}\n */\nexport class TriggerServiceApi extends BaseAPI {\n  /**\n   *\n   * @summary Create Trigger\n   * @param {EngineCreateTriggerRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof TriggerServiceApi\n   */\n  public createTrigger(body: EngineCreateTriggerRequest, options?: any) {\n    return TriggerServiceApiFp(this.configuration)\n      .createTrigger(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} triggerId\n   * @param {EngineTriggerServiceCreateTriggerJobBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof TriggerServiceApi\n   */\n  public createTriggerJob(\n    triggerId: number,\n    body: EngineTriggerServiceCreateTriggerJobBody,\n    options?: any\n  ) {\n    return TriggerServiceApiFp(this.configuration)\n      .createTriggerJob(triggerId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Remove Trigger\n   * @param {number} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof TriggerServiceApi\n   */\n  public deleteTrigger(id: number, options?: any) {\n    return TriggerServiceApiFp(this.configuration)\n      .deleteTrigger(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} id\n   * @param {EngineTriggerServicePatchTriggerBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof TriggerServiceApi\n   */\n  public patchTrigger(\n    id: number,\n    body: EngineTriggerServicePatchTriggerBody,\n    options?: any\n  ) {\n    return TriggerServiceApiFp(this.configuration)\n      .patchTrigger(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Trigger item\n   * @param {number} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof TriggerServiceApi\n   */\n  public readTrigger(id: number, options?: any) {\n    return TriggerServiceApiFp(this.configuration)\n      .readTrigger(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary List of Trigger\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<number>} [id]\n   * @param {Array<number>} [schemaId]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof TriggerServiceApi\n   */\n  public searchTrigger(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<number>,\n    schemaId?: Array<number>,\n    options?: any\n  ) {\n    return TriggerServiceApiFp(this.configuration)\n      .searchTrigger(page, size, q, sort, fields, id, schemaId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} triggerId\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {string} [createdAtFrom]\n   * @param {string} [createdAtTo]\n   * @param {string} [startedAtFrom]\n   * @param {string} [startedAtTo]\n   * @param {string} [durationFrom]\n   * @param {string} [durationTo]\n   * @param {Array<'idle' | 'active' | 'done' | 'error'>} [state]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof TriggerServiceApi\n   */\n  public searchTriggerJob(\n    triggerId: number,\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    createdAtFrom?: string,\n    createdAtTo?: string,\n    startedAtFrom?: string,\n    startedAtTo?: string,\n    durationFrom?: string,\n    durationTo?: string,\n    state?: Array<'idle' | 'active' | 'done' | 'error'>,\n    options?: any\n  ) {\n    return TriggerServiceApiFp(this.configuration)\n      .searchTriggerJob(\n        triggerId,\n        page,\n        size,\n        q,\n        sort,\n        fields,\n        createdAtFrom,\n        createdAtTo,\n        startedAtFrom,\n        startedAtTo,\n        durationFrom,\n        durationTo,\n        state,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update Trigger\n   * @param {number} id\n   * @param {EngineTriggerServiceUpdateTriggerBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof TriggerServiceApi\n   */\n  public updateTrigger(\n    id: number,\n    body: EngineTriggerServiceUpdateTriggerBody,\n    options?: any\n  ) {\n    return TriggerServiceApiFp(this.configuration)\n      .updateTrigger(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { ApiGenerateUserTfaKeyResponse } from '../api'\n// @ts-ignore\nimport { ApiGetUserTfaKeyResponse } from '../api'\n/**\n * TwoFactorAuthenticationApi - axios parameter creator\n * @export\n */\nexport const TwoFactorAuthenticationApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary GenerateUserTfaKey generates new or regenerates secret for the concrete user\n     * @param {string} userId\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    generateUserTfaKey: async (\n      userId: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'userId' is not null or undefined\n      if (userId === null || userId === undefined) {\n        throw new RequiredError(\n          'userId',\n          'Required parameter userId was null or undefined when calling generateUserTfaKey.'\n        )\n      }\n      const localVarPath = `/users/{user_id}/2fa`.replace(\n        `{${'user_id'}}`,\n        encodeURIComponent(String(userId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary GetUserTfaKey locates the secret for user and returns it as a TOTP url\n     * @param {string} userId\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getUserTfaKey: async (\n      userId: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'userId' is not null or undefined\n      if (userId === null || userId === undefined) {\n        throw new RequiredError(\n          'userId',\n          'Required parameter userId was null or undefined when calling getUserTfaKey.'\n        )\n      }\n      const localVarPath = `/users/{user_id}/2fa`.replace(\n        `{${'user_id'}}`,\n        encodeURIComponent(String(userId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * TwoFactorAuthenticationApi - functional programming interface\n * @export\n */\nexport const TwoFactorAuthenticationApiFp = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary GenerateUserTfaKey generates new or regenerates secret for the concrete user\n     * @param {string} userId\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async generateUserTfaKey(\n      userId: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiGenerateUserTfaKeyResponse>\n    > {\n      const localVarAxiosArgs = await TwoFactorAuthenticationApiAxiosParamCreator(\n        configuration\n      ).generateUserTfaKey(userId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary GetUserTfaKey locates the secret for user and returns it as a TOTP url\n     * @param {string} userId\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getUserTfaKey(\n      userId: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiGetUserTfaKeyResponse>\n    > {\n      const localVarAxiosArgs = await TwoFactorAuthenticationApiAxiosParamCreator(\n        configuration\n      ).getUserTfaKey(userId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * TwoFactorAuthenticationApi - factory interface\n * @export\n */\nexport const TwoFactorAuthenticationApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary GenerateUserTfaKey generates new or regenerates secret for the concrete user\n     * @param {string} userId\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    generateUserTfaKey(\n      userId: string,\n      options?: any\n    ): AxiosPromise<ApiGenerateUserTfaKeyResponse> {\n      return TwoFactorAuthenticationApiFp(configuration)\n        .generateUserTfaKey(userId, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary GetUserTfaKey locates the secret for user and returns it as a TOTP url\n     * @param {string} userId\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getUserTfaKey(\n      userId: string,\n      options?: any\n    ): AxiosPromise<ApiGetUserTfaKeyResponse> {\n      return TwoFactorAuthenticationApiFp(configuration)\n        .getUserTfaKey(userId, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * TwoFactorAuthenticationApi - object-oriented interface\n * @export\n * @class TwoFactorAuthenticationApi\n * @extends {BaseAPI}\n */\nexport class TwoFactorAuthenticationApi extends BaseAPI {\n  /**\n   *\n   * @summary GenerateUserTfaKey generates new or regenerates secret for the concrete user\n   * @param {string} userId\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof TwoFactorAuthenticationApi\n   */\n  public generateUserTfaKey(userId: string, options?: any) {\n    return TwoFactorAuthenticationApiFp(this.configuration)\n      .generateUserTfaKey(userId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary GetUserTfaKey locates the secret for user and returns it as a TOTP url\n   * @param {string} userId\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof TwoFactorAuthenticationApi\n   */\n  public getUserTfaKey(userId: string, options?: any) {\n    return TwoFactorAuthenticationApiFp(this.configuration)\n      .getUserTfaKey(userId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { WebitelProtoDataStruct } from '../api'\n// @ts-ignore\nimport { WebitelProtoDataStructList } from '../api'\n/**\n * TypesApi - axios parameter creator\n * @export\n */\nexport const TypesApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Structured data type details.\n     * @param {string} path &#x60;types.path&#x60;\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locate: async (path: string, options: any = {}): Promise<RequestArgs> => {\n      // verify required parameter 'path' is not null or undefined\n      if (path === null || path === undefined) {\n        throw new RequiredError(\n          'path',\n          'Required parameter path was null or undefined when calling locate.'\n        )\n      }\n      const localVarPath = `/types/{path}`.replace(\n        `{${'path'}}`,\n        encodeURIComponent(String(path))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Lookup data types registry.\n     * @param {string} [q] Search term: &#x60;?&#x60; - matches any character &#x60;*&#x60; - matches 0 or more characters e.g.: name,emails{type},labels etc...\n     * @param {string} [id] &#x60;types.id&#x60;\n     * @param {string} [name] &#x60;types.name&#x60;\n     * @param {string} [repo] &#x60;types.repo&#x60;\n     * @param {string} [path] &#x60;types.path&#x60;\n     * @param {boolean} [readonly] [NOT] [ system / custom ] types only\n     * @param {boolean} [extendable] [NOT] Extend[able] types only.\n     * @param {boolean} [extensions] [NOT] include extensions/_* types.\n     * @param {boolean} [extended] [NOT] Extend[ed] types only.\n     * @param {boolean} [administered] [NOT] Administer access control only\n     * @param {number} [size] Number of result records (per page). Default: 16.\n     * @param {number} [page] Page number of result set of records. Default: 1.\n     * @param {Array<string>} [sort] Sort result dataset of records by fields. &#x60;&#x60;&#x60; sort ::&#x3D; *( ORDER name )  ORDER  &#x3D; ASC / DESC DESC   &#x3D; \\&quot;-\\&quot; / \\&quot;!\\&quot; ASC    &#x3D; [ \\&quot;+\\&quot; ]   ; Default &#x60;&#x60;&#x60;  Fields available  - &#x60;id&#x60;(seq) - &#x60;domain&#x60;{name} - &#x60;created_at&#x60; - &#x60;created_by&#x60;{name} - &#x60;updated_at&#x60; - &#x60;updated_by&#x60;{name}  Use ?fields&#x3D;&#x60;field.sort()&#x60; option to sort Edge fields.\n     * @param {Array<string>} [fields] Fields [Q]uery to build result dataset record. &#x60;&#x60;&#x60; fields ::&#x3D; field [ *( \\&quot;,\\&quot; field ) ] field  ::&#x3D; name [ *( func ) ] [ inner ] inner  ::&#x3D; \\&quot;{\\&quot; fields \\&quot;}\\&quot; funcs  ::&#x3D; *( func ) func   ::&#x3D; \\&quot;.\\&quot; name \\&quot;(\\&quot; [ args ] \\&quot;)\\&quot; name   ::&#x3D; ALPHA / DIGIT / USCORE  ALPHA    &#x3D; %x41-5A / %x61-7A  ; \\&quot;A\\&quot;-\\&quot;Z\\&quot; / \\&quot;a\\&quot;-\\&quot;z\\&quot; DIGIT    &#x3D; %x30-39            ; \\&quot;0\\&quot;-\\&quot;9\\&quot; USCORE   &#x3D; %x5F ; underscore  ; \\&quot;_\\&quot; &#x60;&#x60;&#x60;\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    search: async (\n      q?: string,\n      id?: string,\n      name?: string,\n      repo?: string,\n      path?: string,\n      readonly?: boolean,\n      extendable?: boolean,\n      extensions?: boolean,\n      extended?: boolean,\n      administered?: boolean,\n      size?: number,\n      page?: number,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/types`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (id !== undefined) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (name !== undefined) {\n        localVarQueryParameter['name'] = name\n      }\n\n      if (repo !== undefined) {\n        localVarQueryParameter['repo'] = repo\n      }\n\n      if (path !== undefined) {\n        localVarQueryParameter['path'] = path\n      }\n\n      if (readonly !== undefined) {\n        localVarQueryParameter['readonly'] = readonly\n      }\n\n      if (extendable !== undefined) {\n        localVarQueryParameter['extendable'] = extendable\n      }\n\n      if (extensions !== undefined) {\n        localVarQueryParameter['extensions'] = extensions\n      }\n\n      if (extended !== undefined) {\n        localVarQueryParameter['extended'] = extended\n      }\n\n      if (administered !== undefined) {\n        localVarQueryParameter['administered'] = administered\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * TypesApi - functional programming interface\n * @export\n */\nexport const TypesApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Structured data type details.\n     * @param {string} path &#x60;types.path&#x60;\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async locate(\n      path: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelProtoDataStruct>\n    > {\n      const localVarAxiosArgs = await TypesApiAxiosParamCreator(\n        configuration\n      ).locate(path, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Lookup data types registry.\n     * @param {string} [q] Search term: &#x60;?&#x60; - matches any character &#x60;*&#x60; - matches 0 or more characters e.g.: name,emails{type},labels etc...\n     * @param {string} [id] &#x60;types.id&#x60;\n     * @param {string} [name] &#x60;types.name&#x60;\n     * @param {string} [repo] &#x60;types.repo&#x60;\n     * @param {string} [path] &#x60;types.path&#x60;\n     * @param {boolean} [readonly] [NOT] [ system / custom ] types only\n     * @param {boolean} [extendable] [NOT] Extend[able] types only.\n     * @param {boolean} [extensions] [NOT] include extensions/_* types.\n     * @param {boolean} [extended] [NOT] Extend[ed] types only.\n     * @param {boolean} [administered] [NOT] Administer access control only\n     * @param {number} [size] Number of result records (per page). Default: 16.\n     * @param {number} [page] Page number of result set of records. Default: 1.\n     * @param {Array<string>} [sort] Sort result dataset of records by fields. &#x60;&#x60;&#x60; sort ::&#x3D; *( ORDER name )  ORDER  &#x3D; ASC / DESC DESC   &#x3D; \\&quot;-\\&quot; / \\&quot;!\\&quot; ASC    &#x3D; [ \\&quot;+\\&quot; ]   ; Default &#x60;&#x60;&#x60;  Fields available  - &#x60;id&#x60;(seq) - &#x60;domain&#x60;{name} - &#x60;created_at&#x60; - &#x60;created_by&#x60;{name} - &#x60;updated_at&#x60; - &#x60;updated_by&#x60;{name}  Use ?fields&#x3D;&#x60;field.sort()&#x60; option to sort Edge fields.\n     * @param {Array<string>} [fields] Fields [Q]uery to build result dataset record. &#x60;&#x60;&#x60; fields ::&#x3D; field [ *( \\&quot;,\\&quot; field ) ] field  ::&#x3D; name [ *( func ) ] [ inner ] inner  ::&#x3D; \\&quot;{\\&quot; fields \\&quot;}\\&quot; funcs  ::&#x3D; *( func ) func   ::&#x3D; \\&quot;.\\&quot; name \\&quot;(\\&quot; [ args ] \\&quot;)\\&quot; name   ::&#x3D; ALPHA / DIGIT / USCORE  ALPHA    &#x3D; %x41-5A / %x61-7A  ; \\&quot;A\\&quot;-\\&quot;Z\\&quot; / \\&quot;a\\&quot;-\\&quot;z\\&quot; DIGIT    &#x3D; %x30-39            ; \\&quot;0\\&quot;-\\&quot;9\\&quot; USCORE   &#x3D; %x5F ; underscore  ; \\&quot;_\\&quot; &#x60;&#x60;&#x60;\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async search(\n      q?: string,\n      id?: string,\n      name?: string,\n      repo?: string,\n      path?: string,\n      readonly?: boolean,\n      extendable?: boolean,\n      extensions?: boolean,\n      extended?: boolean,\n      administered?: boolean,\n      size?: number,\n      page?: number,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelProtoDataStructList>\n    > {\n      const localVarAxiosArgs = await TypesApiAxiosParamCreator(\n        configuration\n      ).search(\n        q,\n        id,\n        name,\n        repo,\n        path,\n        readonly,\n        extendable,\n        extensions,\n        extended,\n        administered,\n        size,\n        page,\n        sort,\n        fields,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * TypesApi - factory interface\n * @export\n */\nexport const TypesApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Structured data type details.\n     * @param {string} path &#x60;types.path&#x60;\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    locate(path: string, options?: any): AxiosPromise<WebitelProtoDataStruct> {\n      return TypesApiFp(configuration)\n        .locate(path, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Lookup data types registry.\n     * @param {string} [q] Search term: &#x60;?&#x60; - matches any character &#x60;*&#x60; - matches 0 or more characters e.g.: name,emails{type},labels etc...\n     * @param {string} [id] &#x60;types.id&#x60;\n     * @param {string} [name] &#x60;types.name&#x60;\n     * @param {string} [repo] &#x60;types.repo&#x60;\n     * @param {string} [path] &#x60;types.path&#x60;\n     * @param {boolean} [readonly] [NOT] [ system / custom ] types only\n     * @param {boolean} [extendable] [NOT] Extend[able] types only.\n     * @param {boolean} [extensions] [NOT] include extensions/_* types.\n     * @param {boolean} [extended] [NOT] Extend[ed] types only.\n     * @param {boolean} [administered] [NOT] Administer access control only\n     * @param {number} [size] Number of result records (per page). Default: 16.\n     * @param {number} [page] Page number of result set of records. Default: 1.\n     * @param {Array<string>} [sort] Sort result dataset of records by fields. &#x60;&#x60;&#x60; sort ::&#x3D; *( ORDER name )  ORDER  &#x3D; ASC / DESC DESC   &#x3D; \\&quot;-\\&quot; / \\&quot;!\\&quot; ASC    &#x3D; [ \\&quot;+\\&quot; ]   ; Default &#x60;&#x60;&#x60;  Fields available  - &#x60;id&#x60;(seq) - &#x60;domain&#x60;{name} - &#x60;created_at&#x60; - &#x60;created_by&#x60;{name} - &#x60;updated_at&#x60; - &#x60;updated_by&#x60;{name}  Use ?fields&#x3D;&#x60;field.sort()&#x60; option to sort Edge fields.\n     * @param {Array<string>} [fields] Fields [Q]uery to build result dataset record. &#x60;&#x60;&#x60; fields ::&#x3D; field [ *( \\&quot;,\\&quot; field ) ] field  ::&#x3D; name [ *( func ) ] [ inner ] inner  ::&#x3D; \\&quot;{\\&quot; fields \\&quot;}\\&quot; funcs  ::&#x3D; *( func ) func   ::&#x3D; \\&quot;.\\&quot; name \\&quot;(\\&quot; [ args ] \\&quot;)\\&quot; name   ::&#x3D; ALPHA / DIGIT / USCORE  ALPHA    &#x3D; %x41-5A / %x61-7A  ; \\&quot;A\\&quot;-\\&quot;Z\\&quot; / \\&quot;a\\&quot;-\\&quot;z\\&quot; DIGIT    &#x3D; %x30-39            ; \\&quot;0\\&quot;-\\&quot;9\\&quot; USCORE   &#x3D; %x5F ; underscore  ; \\&quot;_\\&quot; &#x60;&#x60;&#x60;\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    search(\n      q?: string,\n      id?: string,\n      name?: string,\n      repo?: string,\n      path?: string,\n      readonly?: boolean,\n      extendable?: boolean,\n      extensions?: boolean,\n      extended?: boolean,\n      administered?: boolean,\n      size?: number,\n      page?: number,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelProtoDataStructList> {\n      return TypesApiFp(configuration)\n        .search(\n          q,\n          id,\n          name,\n          repo,\n          path,\n          readonly,\n          extendable,\n          extensions,\n          extended,\n          administered,\n          size,\n          page,\n          sort,\n          fields,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * TypesApi - object-oriented interface\n * @export\n * @class TypesApi\n * @extends {BaseAPI}\n */\nexport class TypesApi extends BaseAPI {\n  /**\n   *\n   * @summary Structured data type details.\n   * @param {string} path &#x60;types.path&#x60;\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof TypesApi\n   */\n  public locate(path: string, options?: any) {\n    return TypesApiFp(this.configuration)\n      .locate(path, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Lookup data types registry.\n   * @param {string} [q] Search term: &#x60;?&#x60; - matches any character &#x60;*&#x60; - matches 0 or more characters e.g.: name,emails{type},labels etc...\n   * @param {string} [id] &#x60;types.id&#x60;\n   * @param {string} [name] &#x60;types.name&#x60;\n   * @param {string} [repo] &#x60;types.repo&#x60;\n   * @param {string} [path] &#x60;types.path&#x60;\n   * @param {boolean} [readonly] [NOT] [ system / custom ] types only\n   * @param {boolean} [extendable] [NOT] Extend[able] types only.\n   * @param {boolean} [extensions] [NOT] include extensions/_* types.\n   * @param {boolean} [extended] [NOT] Extend[ed] types only.\n   * @param {boolean} [administered] [NOT] Administer access control only\n   * @param {number} [size] Number of result records (per page). Default: 16.\n   * @param {number} [page] Page number of result set of records. Default: 1.\n   * @param {Array<string>} [sort] Sort result dataset of records by fields. &#x60;&#x60;&#x60; sort ::&#x3D; *( ORDER name )  ORDER  &#x3D; ASC / DESC DESC   &#x3D; \\&quot;-\\&quot; / \\&quot;!\\&quot; ASC    &#x3D; [ \\&quot;+\\&quot; ]   ; Default &#x60;&#x60;&#x60;  Fields available  - &#x60;id&#x60;(seq) - &#x60;domain&#x60;{name} - &#x60;created_at&#x60; - &#x60;created_by&#x60;{name} - &#x60;updated_at&#x60; - &#x60;updated_by&#x60;{name}  Use ?fields&#x3D;&#x60;field.sort()&#x60; option to sort Edge fields.\n   * @param {Array<string>} [fields] Fields [Q]uery to build result dataset record. &#x60;&#x60;&#x60; fields ::&#x3D; field [ *( \\&quot;,\\&quot; field ) ] field  ::&#x3D; name [ *( func ) ] [ inner ] inner  ::&#x3D; \\&quot;{\\&quot; fields \\&quot;}\\&quot; funcs  ::&#x3D; *( func ) func   ::&#x3D; \\&quot;.\\&quot; name \\&quot;(\\&quot; [ args ] \\&quot;)\\&quot; name   ::&#x3D; ALPHA / DIGIT / USCORE  ALPHA    &#x3D; %x41-5A / %x61-7A  ; \\&quot;A\\&quot;-\\&quot;Z\\&quot; / \\&quot;a\\&quot;-\\&quot;z\\&quot; DIGIT    &#x3D; %x30-39            ; \\&quot;0\\&quot;-\\&quot;9\\&quot; USCORE   &#x3D; %x5F ; underscore  ; \\&quot;_\\&quot; &#x60;&#x60;&#x60;\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof TypesApi\n   */\n  public search(\n    q?: string,\n    id?: string,\n    name?: string,\n    repo?: string,\n    path?: string,\n    readonly?: boolean,\n    extendable?: boolean,\n    extensions?: boolean,\n    extended?: boolean,\n    administered?: boolean,\n    size?: number,\n    page?: number,\n    sort?: Array<string>,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return TypesApiFp(this.configuration)\n      .search(\n        q,\n        id,\n        name,\n        repo,\n        path,\n        readonly,\n        extendable,\n        extensions,\n        extended,\n        administered,\n        size,\n        page,\n        sort,\n        fields,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { ApiUserAccessToken } from '../api'\n// @ts-ignore\nimport { ApiUserAccessTokenList } from '../api'\n// @ts-ignore\nimport { ProcessingTokenUserIdRequiredAuthorizationTokenUsageOptionalShortDescription } from '../api'\n// @ts-ignore\nimport { RequiredIdentificationModificationsAbout } from '../api'\n// @ts-ignore\nimport { RequiredIdentificationModificationsAbout1 } from '../api'\n/**\n * UserAccessTokensApi - axios parameter creator\n * @export\n */\nexport const UserAccessTokensApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {string} tokenUserId identifier\n     * @param {ProcessingTokenUserIdRequiredAuthorizationTokenUsageOptionalShortDescription} token\n     * @param {boolean} [enable] ObjectId user &#x3D; 1; // [required]  string usage &#x3D; 2;  // [optional] usage description  bool enable &#x3D; 3;\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    addUserAccessToken: async (\n      tokenUserId: string,\n      token: ProcessingTokenUserIdRequiredAuthorizationTokenUsageOptionalShortDescription,\n      enable?: boolean,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'tokenUserId' is not null or undefined\n      if (tokenUserId === null || tokenUserId === undefined) {\n        throw new RequiredError(\n          'tokenUserId',\n          'Required parameter tokenUserId was null or undefined when calling addUserAccessToken.'\n        )\n      }\n      // verify required parameter 'token' is not null or undefined\n      if (token === null || token === undefined) {\n        throw new RequiredError(\n          'token',\n          'Required parameter token was null or undefined when calling addUserAccessToken.'\n        )\n      }\n      const localVarPath = `/users/{token.user.id}/tokens`.replace(\n        `{${'token.user.id'}}`,\n        encodeURIComponent(String(tokenUserId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (enable !== undefined) {\n        localVarQueryParameter['enable'] = enable\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof token !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(token !== undefined ? token : {})\n        : token || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} userId identifier\n     * @param {string} id tokenKey::uuid\n     * @param {string} [userName] display name\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteUserAccessToken: async (\n      userId: string,\n      id: string,\n      userName?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'userId' is not null or undefined\n      if (userId === null || userId === undefined) {\n        throw new RequiredError(\n          'userId',\n          'Required parameter userId was null or undefined when calling deleteUserAccessToken.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteUserAccessToken.'\n        )\n      }\n      const localVarPath = `/users/{user.id}/tokens/{id}`\n        .replace(`{${'user.id'}}`, encodeURIComponent(String(userId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (userName !== undefined) {\n        localVarQueryParameter['user.name'] = userName\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} userId identifier\n     * @param {string} id tokenKey::uuid\n     * @param {string} [userName] display name\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getUserAccessToken: async (\n      userId: string,\n      id: string,\n      userName?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'userId' is not null or undefined\n      if (userId === null || userId === undefined) {\n        throw new RequiredError(\n          'userId',\n          'Required parameter userId was null or undefined when calling getUserAccessToken.'\n        )\n      }\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling getUserAccessToken.'\n        )\n      }\n      const localVarPath = `/users/{user.id}/tokens/{id}`\n        .replace(`{${'user.id'}}`, encodeURIComponent(String(userId)))\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (userName !== undefined) {\n        localVarQueryParameter['user.name'] = userName\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} userId identifier\n     * @param {string} [userName] display name\n     * @param {string} [q] int32 page &#x3D; 2; int64 size &#x3D; 3;  .usage ILIKE :q\n     * @param {Array<string>} [fields] ----- Search Options -------------------------  select: output (fields,...)\n     * @param {Array<string>} [sort] select: order by (fields,...)\n     * @param {number} [page] select: offset {page}\n     * @param {number} [size] select: limit {size}\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listUserAccessToken: async (\n      userId: string,\n      userName?: string,\n      q?: string,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      page?: number,\n      size?: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'userId' is not null or undefined\n      if (userId === null || userId === undefined) {\n        throw new RequiredError(\n          'userId',\n          'Required parameter userId was null or undefined when calling listUserAccessToken.'\n        )\n      }\n      const localVarPath = `/users/{user.id}/tokens`.replace(\n        `{${'user.id'}}`,\n        encodeURIComponent(String(userId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (userName !== undefined) {\n        localVarQueryParameter['user.name'] = userName\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} updateUserId identifier\n     * @param {string} updateId tokenKey::token_key\n     * @param {RequiredIdentificationModificationsAbout} update\n     * @param {Array<string>} [fields] [optional] PATCH implementation\n     * @param {boolean} [enable]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateUserAccessToken: async (\n      updateUserId: string,\n      updateId: string,\n      update: RequiredIdentificationModificationsAbout,\n      fields?: Array<string>,\n      enable?: boolean,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'updateUserId' is not null or undefined\n      if (updateUserId === null || updateUserId === undefined) {\n        throw new RequiredError(\n          'updateUserId',\n          'Required parameter updateUserId was null or undefined when calling updateUserAccessToken.'\n        )\n      }\n      // verify required parameter 'updateId' is not null or undefined\n      if (updateId === null || updateId === undefined) {\n        throw new RequiredError(\n          'updateId',\n          'Required parameter updateId was null or undefined when calling updateUserAccessToken.'\n        )\n      }\n      // verify required parameter 'update' is not null or undefined\n      if (update === null || update === undefined) {\n        throw new RequiredError(\n          'update',\n          'Required parameter update was null or undefined when calling updateUserAccessToken.'\n        )\n      }\n      const localVarPath = `/users/{update.user.id}/tokens/{update.id}`\n        .replace(\n          `{${'update.user.id'}}`,\n          encodeURIComponent(String(updateUserId))\n        )\n        .replace(`{${'update.id'}}`, encodeURIComponent(String(updateId)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (enable !== undefined) {\n        localVarQueryParameter['enable'] = enable\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof update !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(update !== undefined ? update : {})\n        : update || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} updateUserId identifier\n     * @param {string} updateId tokenKey::token_key\n     * @param {RequiredIdentificationModificationsAbout1} update\n     * @param {Array<string>} [fields] [optional] PATCH implementation\n     * @param {boolean} [enable]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateUserAccessToken2: async (\n      updateUserId: string,\n      updateId: string,\n      update: RequiredIdentificationModificationsAbout1,\n      fields?: Array<string>,\n      enable?: boolean,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'updateUserId' is not null or undefined\n      if (updateUserId === null || updateUserId === undefined) {\n        throw new RequiredError(\n          'updateUserId',\n          'Required parameter updateUserId was null or undefined when calling updateUserAccessToken2.'\n        )\n      }\n      // verify required parameter 'updateId' is not null or undefined\n      if (updateId === null || updateId === undefined) {\n        throw new RequiredError(\n          'updateId',\n          'Required parameter updateId was null or undefined when calling updateUserAccessToken2.'\n        )\n      }\n      // verify required parameter 'update' is not null or undefined\n      if (update === null || update === undefined) {\n        throw new RequiredError(\n          'update',\n          'Required parameter update was null or undefined when calling updateUserAccessToken2.'\n        )\n      }\n      const localVarPath = `/users/{update.user.id}/tokens/{update.id}`\n        .replace(\n          `{${'update.user.id'}}`,\n          encodeURIComponent(String(updateUserId))\n        )\n        .replace(`{${'update.id'}}`, encodeURIComponent(String(updateId)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (enable !== undefined) {\n        localVarQueryParameter['enable'] = enable\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof update !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(update !== undefined ? update : {})\n        : update || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * UserAccessTokensApi - functional programming interface\n * @export\n */\nexport const UserAccessTokensApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @param {string} tokenUserId identifier\n     * @param {ProcessingTokenUserIdRequiredAuthorizationTokenUsageOptionalShortDescription} token\n     * @param {boolean} [enable] ObjectId user &#x3D; 1; // [required]  string usage &#x3D; 2;  // [optional] usage description  bool enable &#x3D; 3;\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async addUserAccessToken(\n      tokenUserId: string,\n      token: ProcessingTokenUserIdRequiredAuthorizationTokenUsageOptionalShortDescription,\n      enable?: boolean,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiUserAccessToken>\n    > {\n      const localVarAxiosArgs = await UserAccessTokensApiAxiosParamCreator(\n        configuration\n      ).addUserAccessToken(tokenUserId, token, enable, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} userId identifier\n     * @param {string} id tokenKey::uuid\n     * @param {string} [userName] display name\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteUserAccessToken(\n      userId: string,\n      id: string,\n      userName?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiUserAccessToken>\n    > {\n      const localVarAxiosArgs = await UserAccessTokensApiAxiosParamCreator(\n        configuration\n      ).deleteUserAccessToken(userId, id, userName, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} userId identifier\n     * @param {string} id tokenKey::uuid\n     * @param {string} [userName] display name\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getUserAccessToken(\n      userId: string,\n      id: string,\n      userName?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiUserAccessToken>\n    > {\n      const localVarAxiosArgs = await UserAccessTokensApiAxiosParamCreator(\n        configuration\n      ).getUserAccessToken(userId, id, userName, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} userId identifier\n     * @param {string} [userName] display name\n     * @param {string} [q] int32 page &#x3D; 2; int64 size &#x3D; 3;  .usage ILIKE :q\n     * @param {Array<string>} [fields] ----- Search Options -------------------------  select: output (fields,...)\n     * @param {Array<string>} [sort] select: order by (fields,...)\n     * @param {number} [page] select: offset {page}\n     * @param {number} [size] select: limit {size}\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async listUserAccessToken(\n      userId: string,\n      userName?: string,\n      q?: string,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      page?: number,\n      size?: number,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiUserAccessTokenList>\n    > {\n      const localVarAxiosArgs = await UserAccessTokensApiAxiosParamCreator(\n        configuration\n      ).listUserAccessToken(\n        userId,\n        userName,\n        q,\n        fields,\n        sort,\n        page,\n        size,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} updateUserId identifier\n     * @param {string} updateId tokenKey::token_key\n     * @param {RequiredIdentificationModificationsAbout} update\n     * @param {Array<string>} [fields] [optional] PATCH implementation\n     * @param {boolean} [enable]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateUserAccessToken(\n      updateUserId: string,\n      updateId: string,\n      update: RequiredIdentificationModificationsAbout,\n      fields?: Array<string>,\n      enable?: boolean,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiUserAccessToken>\n    > {\n      const localVarAxiosArgs = await UserAccessTokensApiAxiosParamCreator(\n        configuration\n      ).updateUserAccessToken(\n        updateUserId,\n        updateId,\n        update,\n        fields,\n        enable,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} updateUserId identifier\n     * @param {string} updateId tokenKey::token_key\n     * @param {RequiredIdentificationModificationsAbout1} update\n     * @param {Array<string>} [fields] [optional] PATCH implementation\n     * @param {boolean} [enable]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateUserAccessToken2(\n      updateUserId: string,\n      updateId: string,\n      update: RequiredIdentificationModificationsAbout1,\n      fields?: Array<string>,\n      enable?: boolean,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiUserAccessToken>\n    > {\n      const localVarAxiosArgs = await UserAccessTokensApiAxiosParamCreator(\n        configuration\n      ).updateUserAccessToken2(\n        updateUserId,\n        updateId,\n        update,\n        fields,\n        enable,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * UserAccessTokensApi - factory interface\n * @export\n */\nexport const UserAccessTokensApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {string} tokenUserId identifier\n     * @param {ProcessingTokenUserIdRequiredAuthorizationTokenUsageOptionalShortDescription} token\n     * @param {boolean} [enable] ObjectId user &#x3D; 1; // [required]  string usage &#x3D; 2;  // [optional] usage description  bool enable &#x3D; 3;\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    addUserAccessToken(\n      tokenUserId: string,\n      token: ProcessingTokenUserIdRequiredAuthorizationTokenUsageOptionalShortDescription,\n      enable?: boolean,\n      options?: any\n    ): AxiosPromise<ApiUserAccessToken> {\n      return UserAccessTokensApiFp(configuration)\n        .addUserAccessToken(tokenUserId, token, enable, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} userId identifier\n     * @param {string} id tokenKey::uuid\n     * @param {string} [userName] display name\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteUserAccessToken(\n      userId: string,\n      id: string,\n      userName?: string,\n      options?: any\n    ): AxiosPromise<ApiUserAccessToken> {\n      return UserAccessTokensApiFp(configuration)\n        .deleteUserAccessToken(userId, id, userName, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} userId identifier\n     * @param {string} id tokenKey::uuid\n     * @param {string} [userName] display name\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getUserAccessToken(\n      userId: string,\n      id: string,\n      userName?: string,\n      options?: any\n    ): AxiosPromise<ApiUserAccessToken> {\n      return UserAccessTokensApiFp(configuration)\n        .getUserAccessToken(userId, id, userName, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} userId identifier\n     * @param {string} [userName] display name\n     * @param {string} [q] int32 page &#x3D; 2; int64 size &#x3D; 3;  .usage ILIKE :q\n     * @param {Array<string>} [fields] ----- Search Options -------------------------  select: output (fields,...)\n     * @param {Array<string>} [sort] select: order by (fields,...)\n     * @param {number} [page] select: offset {page}\n     * @param {number} [size] select: limit {size}\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listUserAccessToken(\n      userId: string,\n      userName?: string,\n      q?: string,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      page?: number,\n      size?: number,\n      options?: any\n    ): AxiosPromise<ApiUserAccessTokenList> {\n      return UserAccessTokensApiFp(configuration)\n        .listUserAccessToken(\n          userId,\n          userName,\n          q,\n          fields,\n          sort,\n          page,\n          size,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} updateUserId identifier\n     * @param {string} updateId tokenKey::token_key\n     * @param {RequiredIdentificationModificationsAbout} update\n     * @param {Array<string>} [fields] [optional] PATCH implementation\n     * @param {boolean} [enable]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateUserAccessToken(\n      updateUserId: string,\n      updateId: string,\n      update: RequiredIdentificationModificationsAbout,\n      fields?: Array<string>,\n      enable?: boolean,\n      options?: any\n    ): AxiosPromise<ApiUserAccessToken> {\n      return UserAccessTokensApiFp(configuration)\n        .updateUserAccessToken(\n          updateUserId,\n          updateId,\n          update,\n          fields,\n          enable,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} updateUserId identifier\n     * @param {string} updateId tokenKey::token_key\n     * @param {RequiredIdentificationModificationsAbout1} update\n     * @param {Array<string>} [fields] [optional] PATCH implementation\n     * @param {boolean} [enable]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateUserAccessToken2(\n      updateUserId: string,\n      updateId: string,\n      update: RequiredIdentificationModificationsAbout1,\n      fields?: Array<string>,\n      enable?: boolean,\n      options?: any\n    ): AxiosPromise<ApiUserAccessToken> {\n      return UserAccessTokensApiFp(configuration)\n        .updateUserAccessToken2(\n          updateUserId,\n          updateId,\n          update,\n          fields,\n          enable,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * UserAccessTokensApi - object-oriented interface\n * @export\n * @class UserAccessTokensApi\n * @extends {BaseAPI}\n */\nexport class UserAccessTokensApi extends BaseAPI {\n  /**\n   *\n   * @param {string} tokenUserId identifier\n   * @param {ProcessingTokenUserIdRequiredAuthorizationTokenUsageOptionalShortDescription} token\n   * @param {boolean} [enable] ObjectId user &#x3D; 1; // [required]  string usage &#x3D; 2;  // [optional] usage description  bool enable &#x3D; 3;\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof UserAccessTokensApi\n   */\n  public addUserAccessToken(\n    tokenUserId: string,\n    token: ProcessingTokenUserIdRequiredAuthorizationTokenUsageOptionalShortDescription,\n    enable?: boolean,\n    options?: any\n  ) {\n    return UserAccessTokensApiFp(this.configuration)\n      .addUserAccessToken(tokenUserId, token, enable, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} userId identifier\n   * @param {string} id tokenKey::uuid\n   * @param {string} [userName] display name\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof UserAccessTokensApi\n   */\n  public deleteUserAccessToken(\n    userId: string,\n    id: string,\n    userName?: string,\n    options?: any\n  ) {\n    return UserAccessTokensApiFp(this.configuration)\n      .deleteUserAccessToken(userId, id, userName, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} userId identifier\n   * @param {string} id tokenKey::uuid\n   * @param {string} [userName] display name\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof UserAccessTokensApi\n   */\n  public getUserAccessToken(\n    userId: string,\n    id: string,\n    userName?: string,\n    options?: any\n  ) {\n    return UserAccessTokensApiFp(this.configuration)\n      .getUserAccessToken(userId, id, userName, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} userId identifier\n   * @param {string} [userName] display name\n   * @param {string} [q] int32 page &#x3D; 2; int64 size &#x3D; 3;  .usage ILIKE :q\n   * @param {Array<string>} [fields] ----- Search Options -------------------------  select: output (fields,...)\n   * @param {Array<string>} [sort] select: order by (fields,...)\n   * @param {number} [page] select: offset {page}\n   * @param {number} [size] select: limit {size}\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof UserAccessTokensApi\n   */\n  public listUserAccessToken(\n    userId: string,\n    userName?: string,\n    q?: string,\n    fields?: Array<string>,\n    sort?: Array<string>,\n    page?: number,\n    size?: number,\n    options?: any\n  ) {\n    return UserAccessTokensApiFp(this.configuration)\n      .listUserAccessToken(\n        userId,\n        userName,\n        q,\n        fields,\n        sort,\n        page,\n        size,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} updateUserId identifier\n   * @param {string} updateId tokenKey::token_key\n   * @param {RequiredIdentificationModificationsAbout} update\n   * @param {Array<string>} [fields] [optional] PATCH implementation\n   * @param {boolean} [enable]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof UserAccessTokensApi\n   */\n  public updateUserAccessToken(\n    updateUserId: string,\n    updateId: string,\n    update: RequiredIdentificationModificationsAbout,\n    fields?: Array<string>,\n    enable?: boolean,\n    options?: any\n  ) {\n    return UserAccessTokensApiFp(this.configuration)\n      .updateUserAccessToken(\n        updateUserId,\n        updateId,\n        update,\n        fields,\n        enable,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} updateUserId identifier\n   * @param {string} updateId tokenKey::token_key\n   * @param {RequiredIdentificationModificationsAbout1} update\n   * @param {Array<string>} [fields] [optional] PATCH implementation\n   * @param {boolean} [enable]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof UserAccessTokensApi\n   */\n  public updateUserAccessToken2(\n    updateUserId: string,\n    updateId: string,\n    update: RequiredIdentificationModificationsAbout1,\n    fields?: Array<string>,\n    enable?: boolean,\n    options?: any\n  ) {\n    return UserAccessTokensApiFp(this.configuration)\n      .updateUserAccessToken2(\n        updateUserId,\n        updateId,\n        update,\n        fields,\n        enable,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { EngineActivityWorkspaceWidgetResponse } from '../api'\n// @ts-ignore\nimport { EngineDefaultDeviceConfigResponse } from '../api'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n/**\n * UserHelperServiceApi - axios parameter creator\n * @export\n */\nexport const UserHelperServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    activityWorkspaceWidget: async (\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/user/widget/activity/today`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} type\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    defaultDeviceConfig: async (\n      type: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'type' is not null or undefined\n      if (type === null || type === undefined) {\n        throw new RequiredError(\n          'type',\n          'Required parameter type was null or undefined when calling defaultDeviceConfig.'\n        )\n      }\n      const localVarPath = `/user/device/config/{type}`.replace(\n        `{${'type'}}`,\n        encodeURIComponent(String(type))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * UserHelperServiceApi - functional programming interface\n * @export\n */\nexport const UserHelperServiceApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async activityWorkspaceWidget(\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineActivityWorkspaceWidgetResponse>\n    > {\n      const localVarAxiosArgs = await UserHelperServiceApiAxiosParamCreator(\n        configuration\n      ).activityWorkspaceWidget(fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} type\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async defaultDeviceConfig(\n      type: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineDefaultDeviceConfigResponse>\n    > {\n      const localVarAxiosArgs = await UserHelperServiceApiAxiosParamCreator(\n        configuration\n      ).defaultDeviceConfig(type, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * UserHelperServiceApi - factory interface\n * @export\n */\nexport const UserHelperServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    activityWorkspaceWidget(\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<EngineActivityWorkspaceWidgetResponse> {\n      return UserHelperServiceApiFp(configuration)\n        .activityWorkspaceWidget(fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} type\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    defaultDeviceConfig(\n      type: string,\n      options?: any\n    ): AxiosPromise<EngineDefaultDeviceConfigResponse> {\n      return UserHelperServiceApiFp(configuration)\n        .defaultDeviceConfig(type, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * UserHelperServiceApi - object-oriented interface\n * @export\n * @class UserHelperServiceApi\n * @extends {BaseAPI}\n */\nexport class UserHelperServiceApi extends BaseAPI {\n  /**\n   *\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof UserHelperServiceApi\n   */\n  public activityWorkspaceWidget(fields?: Array<string>, options?: any) {\n    return UserHelperServiceApiFp(this.configuration)\n      .activityWorkspaceWidget(fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} type\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof UserHelperServiceApi\n   */\n  public defaultDeviceConfig(type: string, options?: any) {\n    return UserHelperServiceApiFp(this.configuration)\n      .defaultDeviceConfig(type, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { ApiUserSetting } from '../api'\n/**\n * UserSettingsApi - axios parameter creator\n * @export\n */\nexport const UserSettingsApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary GET /user/settings/{key=*}\n     * @param {string} key\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getUserSettings: async (\n      key: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'key' is not null or undefined\n      if (key === null || key === undefined) {\n        throw new RequiredError(\n          'key',\n          'Required parameter key was null or undefined when calling getUserSettings.'\n        )\n      }\n      const localVarPath = `/user/settings/{key}`.replace(\n        `{${'key'}}`,\n        encodeURIComponent(String(key))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     * PUT /user/settings/{key=*} Content-Type: application/json; charset=utf-8  ${value=.body}\n     * @summary Create -or- Update\n     * @param {string} key\n     * @param {object} value\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    setUserSettings: async (\n      key: string,\n      value: object,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'key' is not null or undefined\n      if (key === null || key === undefined) {\n        throw new RequiredError(\n          'key',\n          'Required parameter key was null or undefined when calling setUserSettings.'\n        )\n      }\n      // verify required parameter 'value' is not null or undefined\n      if (value === null || value === undefined) {\n        throw new RequiredError(\n          'value',\n          'Required parameter value was null or undefined when calling setUserSettings.'\n        )\n      }\n      const localVarPath = `/user/settings/{key}`.replace(\n        `{${'key'}}`,\n        encodeURIComponent(String(key))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof value !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(value !== undefined ? value : {})\n        : value || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * UserSettingsApi - functional programming interface\n * @export\n */\nexport const UserSettingsApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary GET /user/settings/{key=*}\n     * @param {string} key\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getUserSettings(\n      key: string,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiUserSetting>\n    > {\n      const localVarAxiosArgs = await UserSettingsApiAxiosParamCreator(\n        configuration\n      ).getUserSettings(key, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     * PUT /user/settings/{key=*} Content-Type: application/json; charset=utf-8  ${value=.body}\n     * @summary Create -or- Update\n     * @param {string} key\n     * @param {object} value\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async setUserSettings(\n      key: string,\n      value: object,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiUserSetting>\n    > {\n      const localVarAxiosArgs = await UserSettingsApiAxiosParamCreator(\n        configuration\n      ).setUserSettings(key, value, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * UserSettingsApi - factory interface\n * @export\n */\nexport const UserSettingsApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary GET /user/settings/{key=*}\n     * @param {string} key\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getUserSettings(key: string, options?: any): AxiosPromise<ApiUserSetting> {\n      return UserSettingsApiFp(configuration)\n        .getUserSettings(key, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     * PUT /user/settings/{key=*} Content-Type: application/json; charset=utf-8  ${value=.body}\n     * @summary Create -or- Update\n     * @param {string} key\n     * @param {object} value\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    setUserSettings(\n      key: string,\n      value: object,\n      options?: any\n    ): AxiosPromise<ApiUserSetting> {\n      return UserSettingsApiFp(configuration)\n        .setUserSettings(key, value, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * UserSettingsApi - object-oriented interface\n * @export\n * @class UserSettingsApi\n * @extends {BaseAPI}\n */\nexport class UserSettingsApi extends BaseAPI {\n  /**\n   *\n   * @summary GET /user/settings/{key=*}\n   * @param {string} key\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof UserSettingsApi\n   */\n  public getUserSettings(key: string, options?: any) {\n    return UserSettingsApiFp(this.configuration)\n      .getUserSettings(key, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   * PUT /user/settings/{key=*} Content-Type: application/json; charset=utf-8  ${value=.body}\n   * @summary Create -or- Update\n   * @param {string} key\n   * @param {object} value\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof UserSettingsApi\n   */\n  public setUserSettings(key: string, value: object, options?: any) {\n    return UserSettingsApiFp(this.configuration)\n      .setUserSettings(key, value, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { ApiCreateUserRequest } from '../api'\n// @ts-ignore\nimport { ApiCreateUserResponse } from '../api'\n// @ts-ignore\nimport { ApiDeleteUsersResponse } from '../api'\n// @ts-ignore\nimport { ApiReadUserResponse } from '../api'\n// @ts-ignore\nimport { ApiSearchUsersRequest } from '../api'\n// @ts-ignore\nimport { ApiSearchUsersResponse } from '../api'\n// @ts-ignore\nimport { ApiUser } from '../api'\n// @ts-ignore\nimport { BodyModificationsChanges } from '../api'\n// @ts-ignore\nimport { BodyModificationsChanges1 } from '../api'\n/**\n * UsersApi - axios parameter creator\n * @export\n */\nexport const UsersApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {ApiCreateUserRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createUser: async (\n      body: ApiCreateUserRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createUser.'\n        )\n      }\n      const localVarPath = `/users`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id ONE /users/{id}\n     * @param {Array<string>} [selection] MANY /users .ids&#x3D;[id,...]\n     * @param {boolean} [permanent]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteUsers: async (\n      id: string,\n      selection?: Array<string>,\n      permanent?: boolean,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteUsers.'\n        )\n      }\n      const localVarPath = `/users/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (selection) {\n        localVarQueryParameter['selection'] = selection\n      }\n\n      if (permanent !== undefined) {\n        localVarQueryParameter['permanent'] = permanent\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {Array<string>} selection MANY /users .ids&#x3D;[id,...]\n     * @param {string} [id] ONE /users/{id}\n     * @param {boolean} [permanent]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteUsers2: async (\n      selection: Array<string>,\n      id?: string,\n      permanent?: boolean,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'selection' is not null or undefined\n      if (selection === null || selection === undefined) {\n        throw new RequiredError(\n          'selection',\n          'Required parameter selection was null or undefined when calling deleteUsers2.'\n        )\n      }\n      const localVarPath = `/users`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (id !== undefined) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (permanent !== undefined) {\n        localVarQueryParameter['permanent'] = permanent\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof selection !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(selection !== undefined ? selection : {})\n        : selection || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {object} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    logoutUser: async (\n      id: string,\n      body: object,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling logoutUser.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling logoutUser.'\n        )\n      }\n      const localVarPath = `/users/{id}/logout`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {Array<string>} [fields] partial output\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readUser: async (\n      id: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readUser.'\n        )\n      }\n      const localVarPath = `/users/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} [id]\n     * @param {Array<string>} [fields] partial output\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readUser2: async (\n      id?: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/user`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (id !== undefined) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {Array<string>} [id] ----- Base Filters ---------------------------  filter: .id &#x3D; any({id}...)\n     * @param {Array<string>} [notId] filter: .id &lt;&gt; all({not_ids}...)\n     * @param {string} [q] ----- User-specific Filters ------------------  filter: (.name|.username|.extension|.status) ILIKE \\&#39;{q}\\&#39;\n     * @param {string} [name] filter: .name ILIKE \\&#39;{name}\\&#39;\n     * @param {string} [status] filter: .status ILIKE \\&#39;{status}\\&#39;\n     * @param {string} [username] filter: .username ILIKE \\&#39;{username}\\&#39;\n     * @param {string} [extension] filter: .extension LIKE \\&#39;{extension}\\&#39;\n     * @param {boolean} [any] ----- View Modes ----------------------------- NOTE: by default, search NOT \\&#39;deleted\\&#39; objects ONLY  filter: include \\&#39;deleted\\&#39; ALSO ! (inactive)\n     * @param {boolean} [deleted] filter: .deleted_at NOTNULL (view: RECYCLE)\n     * @param {string} [presenceStatus]\n     * @param {string} [presenceNote]\n     * @param {Array<string>} [fields] // navigation filter repeated int64 roles &#x3D; 7; ----- Search Options -------------------------  select: output (fields,...)\n     * @param {Array<string>} [sort] select: order by (fields,...)\n     * @param {number} [page] select: offset {page}\n     * @param {number} [size] select: limit {size}\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchUsers: async (\n      id?: Array<string>,\n      notId?: Array<string>,\n      q?: string,\n      name?: string,\n      status?: string,\n      username?: string,\n      extension?: string,\n      any?: boolean,\n      deleted?: boolean,\n      presenceStatus?: string,\n      presenceNote?: string,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      page?: number,\n      size?: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/users`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      if (notId) {\n        localVarQueryParameter['not_id'] = notId\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (name !== undefined) {\n        localVarQueryParameter['name'] = name\n      }\n\n      if (status !== undefined) {\n        localVarQueryParameter['status'] = status\n      }\n\n      if (username !== undefined) {\n        localVarQueryParameter['username'] = username\n      }\n\n      if (extension !== undefined) {\n        localVarQueryParameter['extension'] = extension\n      }\n\n      if (any !== undefined) {\n        localVarQueryParameter['any'] = any\n      }\n\n      if (deleted !== undefined) {\n        localVarQueryParameter['deleted'] = deleted\n      }\n\n      if (presenceStatus !== undefined) {\n        localVarQueryParameter['presence.status'] = presenceStatus\n      }\n\n      if (presenceNote !== undefined) {\n        localVarQueryParameter['presence.note'] = presenceNote\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {ApiSearchUsersRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchUsers2: async (\n      body: ApiSearchUsersRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling searchUsers2.'\n        )\n      }\n      const localVarPath = `/users/search`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} userId Object ID\n     * @param {BodyModificationsChanges} user\n     * @param {Array<string>} [fields] PATCH: partial update\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateUser: async (\n      userId: string,\n      user: BodyModificationsChanges,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'userId' is not null or undefined\n      if (userId === null || userId === undefined) {\n        throw new RequiredError(\n          'userId',\n          'Required parameter userId was null or undefined when calling updateUser.'\n        )\n      }\n      // verify required parameter 'user' is not null or undefined\n      if (user === null || user === undefined) {\n        throw new RequiredError(\n          'user',\n          'Required parameter user was null or undefined when calling updateUser.'\n        )\n      }\n      const localVarPath = `/users/{user.id}`.replace(\n        `{${'user.id'}}`,\n        encodeURIComponent(String(userId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof user !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(user !== undefined ? user : {})\n        : user || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} userId Object ID\n     * @param {BodyModificationsChanges1} user\n     * @param {Array<string>} [fields] PATCH: partial update\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateUser2: async (\n      userId: string,\n      user: BodyModificationsChanges1,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'userId' is not null or undefined\n      if (userId === null || userId === undefined) {\n        throw new RequiredError(\n          'userId',\n          'Required parameter userId was null or undefined when calling updateUser2.'\n        )\n      }\n      // verify required parameter 'user' is not null or undefined\n      if (user === null || user === undefined) {\n        throw new RequiredError(\n          'user',\n          'Required parameter user was null or undefined when calling updateUser2.'\n        )\n      }\n      const localVarPath = `/users/{user.id}`.replace(\n        `{${'user.id'}}`,\n        encodeURIComponent(String(userId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof user !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(user !== undefined ? user : {})\n        : user || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * UsersApi - functional programming interface\n * @export\n */\nexport const UsersApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @param {ApiCreateUserRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createUser(\n      body: ApiCreateUserRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiCreateUserResponse>\n    > {\n      const localVarAxiosArgs = await UsersApiAxiosParamCreator(\n        configuration\n      ).createUser(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id ONE /users/{id}\n     * @param {Array<string>} [selection] MANY /users .ids&#x3D;[id,...]\n     * @param {boolean} [permanent]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteUsers(\n      id: string,\n      selection?: Array<string>,\n      permanent?: boolean,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiDeleteUsersResponse>\n    > {\n      const localVarAxiosArgs = await UsersApiAxiosParamCreator(\n        configuration\n      ).deleteUsers(id, selection, permanent, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {Array<string>} selection MANY /users .ids&#x3D;[id,...]\n     * @param {string} [id] ONE /users/{id}\n     * @param {boolean} [permanent]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteUsers2(\n      selection: Array<string>,\n      id?: string,\n      permanent?: boolean,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiDeleteUsersResponse>\n    > {\n      const localVarAxiosArgs = await UsersApiAxiosParamCreator(\n        configuration\n      ).deleteUsers2(selection, id, permanent, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {object} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async logoutUser(\n      id: string,\n      body: object,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>\n    > {\n      const localVarAxiosArgs = await UsersApiAxiosParamCreator(\n        configuration\n      ).logoutUser(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {Array<string>} [fields] partial output\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readUser(\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiReadUserResponse>\n    > {\n      const localVarAxiosArgs = await UsersApiAxiosParamCreator(\n        configuration\n      ).readUser(id, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} [id]\n     * @param {Array<string>} [fields] partial output\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readUser2(\n      id?: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiReadUserResponse>\n    > {\n      const localVarAxiosArgs = await UsersApiAxiosParamCreator(\n        configuration\n      ).readUser2(id, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {Array<string>} [id] ----- Base Filters ---------------------------  filter: .id &#x3D; any({id}...)\n     * @param {Array<string>} [notId] filter: .id &lt;&gt; all({not_ids}...)\n     * @param {string} [q] ----- User-specific Filters ------------------  filter: (.name|.username|.extension|.status) ILIKE \\&#39;{q}\\&#39;\n     * @param {string} [name] filter: .name ILIKE \\&#39;{name}\\&#39;\n     * @param {string} [status] filter: .status ILIKE \\&#39;{status}\\&#39;\n     * @param {string} [username] filter: .username ILIKE \\&#39;{username}\\&#39;\n     * @param {string} [extension] filter: .extension LIKE \\&#39;{extension}\\&#39;\n     * @param {boolean} [any] ----- View Modes ----------------------------- NOTE: by default, search NOT \\&#39;deleted\\&#39; objects ONLY  filter: include \\&#39;deleted\\&#39; ALSO ! (inactive)\n     * @param {boolean} [deleted] filter: .deleted_at NOTNULL (view: RECYCLE)\n     * @param {string} [presenceStatus]\n     * @param {string} [presenceNote]\n     * @param {Array<string>} [fields] // navigation filter repeated int64 roles &#x3D; 7; ----- Search Options -------------------------  select: output (fields,...)\n     * @param {Array<string>} [sort] select: order by (fields,...)\n     * @param {number} [page] select: offset {page}\n     * @param {number} [size] select: limit {size}\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchUsers(\n      id?: Array<string>,\n      notId?: Array<string>,\n      q?: string,\n      name?: string,\n      status?: string,\n      username?: string,\n      extension?: string,\n      any?: boolean,\n      deleted?: boolean,\n      presenceStatus?: string,\n      presenceNote?: string,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      page?: number,\n      size?: number,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiSearchUsersResponse>\n    > {\n      const localVarAxiosArgs = await UsersApiAxiosParamCreator(\n        configuration\n      ).searchUsers(\n        id,\n        notId,\n        q,\n        name,\n        status,\n        username,\n        extension,\n        any,\n        deleted,\n        presenceStatus,\n        presenceNote,\n        fields,\n        sort,\n        page,\n        size,\n        options\n      )\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {ApiSearchUsersRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchUsers2(\n      body: ApiSearchUsersRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<ApiSearchUsersResponse>\n    > {\n      const localVarAxiosArgs = await UsersApiAxiosParamCreator(\n        configuration\n      ).searchUsers2(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} userId Object ID\n     * @param {BodyModificationsChanges} user\n     * @param {Array<string>} [fields] PATCH: partial update\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateUser(\n      userId: string,\n      user: BodyModificationsChanges,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiUser>\n    > {\n      const localVarAxiosArgs = await UsersApiAxiosParamCreator(\n        configuration\n      ).updateUser(userId, user, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} userId Object ID\n     * @param {BodyModificationsChanges1} user\n     * @param {Array<string>} [fields] PATCH: partial update\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateUser2(\n      userId: string,\n      user: BodyModificationsChanges1,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiUser>\n    > {\n      const localVarAxiosArgs = await UsersApiAxiosParamCreator(\n        configuration\n      ).updateUser2(userId, user, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * UsersApi - factory interface\n * @export\n */\nexport const UsersApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {ApiCreateUserRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createUser(\n      body: ApiCreateUserRequest,\n      options?: any\n    ): AxiosPromise<ApiCreateUserResponse> {\n      return UsersApiFp(configuration)\n        .createUser(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id ONE /users/{id}\n     * @param {Array<string>} [selection] MANY /users .ids&#x3D;[id,...]\n     * @param {boolean} [permanent]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteUsers(\n      id: string,\n      selection?: Array<string>,\n      permanent?: boolean,\n      options?: any\n    ): AxiosPromise<ApiDeleteUsersResponse> {\n      return UsersApiFp(configuration)\n        .deleteUsers(id, selection, permanent, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {Array<string>} selection MANY /users .ids&#x3D;[id,...]\n     * @param {string} [id] ONE /users/{id}\n     * @param {boolean} [permanent]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteUsers2(\n      selection: Array<string>,\n      id?: string,\n      permanent?: boolean,\n      options?: any\n    ): AxiosPromise<ApiDeleteUsersResponse> {\n      return UsersApiFp(configuration)\n        .deleteUsers2(selection, id, permanent, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {object} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    logoutUser(id: string, body: object, options?: any): AxiosPromise<object> {\n      return UsersApiFp(configuration)\n        .logoutUser(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {Array<string>} [fields] partial output\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readUser(\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<ApiReadUserResponse> {\n      return UsersApiFp(configuration)\n        .readUser(id, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} [id]\n     * @param {Array<string>} [fields] partial output\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readUser2(\n      id?: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<ApiReadUserResponse> {\n      return UsersApiFp(configuration)\n        .readUser2(id, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {Array<string>} [id] ----- Base Filters ---------------------------  filter: .id &#x3D; any({id}...)\n     * @param {Array<string>} [notId] filter: .id &lt;&gt; all({not_ids}...)\n     * @param {string} [q] ----- User-specific Filters ------------------  filter: (.name|.username|.extension|.status) ILIKE \\&#39;{q}\\&#39;\n     * @param {string} [name] filter: .name ILIKE \\&#39;{name}\\&#39;\n     * @param {string} [status] filter: .status ILIKE \\&#39;{status}\\&#39;\n     * @param {string} [username] filter: .username ILIKE \\&#39;{username}\\&#39;\n     * @param {string} [extension] filter: .extension LIKE \\&#39;{extension}\\&#39;\n     * @param {boolean} [any] ----- View Modes ----------------------------- NOTE: by default, search NOT \\&#39;deleted\\&#39; objects ONLY  filter: include \\&#39;deleted\\&#39; ALSO ! (inactive)\n     * @param {boolean} [deleted] filter: .deleted_at NOTNULL (view: RECYCLE)\n     * @param {string} [presenceStatus]\n     * @param {string} [presenceNote]\n     * @param {Array<string>} [fields] // navigation filter repeated int64 roles &#x3D; 7; ----- Search Options -------------------------  select: output (fields,...)\n     * @param {Array<string>} [sort] select: order by (fields,...)\n     * @param {number} [page] select: offset {page}\n     * @param {number} [size] select: limit {size}\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchUsers(\n      id?: Array<string>,\n      notId?: Array<string>,\n      q?: string,\n      name?: string,\n      status?: string,\n      username?: string,\n      extension?: string,\n      any?: boolean,\n      deleted?: boolean,\n      presenceStatus?: string,\n      presenceNote?: string,\n      fields?: Array<string>,\n      sort?: Array<string>,\n      page?: number,\n      size?: number,\n      options?: any\n    ): AxiosPromise<ApiSearchUsersResponse> {\n      return UsersApiFp(configuration)\n        .searchUsers(\n          id,\n          notId,\n          q,\n          name,\n          status,\n          username,\n          extension,\n          any,\n          deleted,\n          presenceStatus,\n          presenceNote,\n          fields,\n          sort,\n          page,\n          size,\n          options\n        )\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {ApiSearchUsersRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchUsers2(\n      body: ApiSearchUsersRequest,\n      options?: any\n    ): AxiosPromise<ApiSearchUsersResponse> {\n      return UsersApiFp(configuration)\n        .searchUsers2(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} userId Object ID\n     * @param {BodyModificationsChanges} user\n     * @param {Array<string>} [fields] PATCH: partial update\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateUser(\n      userId: string,\n      user: BodyModificationsChanges,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<ApiUser> {\n      return UsersApiFp(configuration)\n        .updateUser(userId, user, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} userId Object ID\n     * @param {BodyModificationsChanges1} user\n     * @param {Array<string>} [fields] PATCH: partial update\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateUser2(\n      userId: string,\n      user: BodyModificationsChanges1,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<ApiUser> {\n      return UsersApiFp(configuration)\n        .updateUser2(userId, user, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * UsersApi - object-oriented interface\n * @export\n * @class UsersApi\n * @extends {BaseAPI}\n */\nexport class UsersApi extends BaseAPI {\n  /**\n   *\n   * @param {ApiCreateUserRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof UsersApi\n   */\n  public createUser(body: ApiCreateUserRequest, options?: any) {\n    return UsersApiFp(this.configuration)\n      .createUser(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id ONE /users/{id}\n   * @param {Array<string>} [selection] MANY /users .ids&#x3D;[id,...]\n   * @param {boolean} [permanent]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof UsersApi\n   */\n  public deleteUsers(\n    id: string,\n    selection?: Array<string>,\n    permanent?: boolean,\n    options?: any\n  ) {\n    return UsersApiFp(this.configuration)\n      .deleteUsers(id, selection, permanent, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {Array<string>} selection MANY /users .ids&#x3D;[id,...]\n   * @param {string} [id] ONE /users/{id}\n   * @param {boolean} [permanent]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof UsersApi\n   */\n  public deleteUsers2(\n    selection: Array<string>,\n    id?: string,\n    permanent?: boolean,\n    options?: any\n  ) {\n    return UsersApiFp(this.configuration)\n      .deleteUsers2(selection, id, permanent, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {object} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof UsersApi\n   */\n  public logoutUser(id: string, body: object, options?: any) {\n    return UsersApiFp(this.configuration)\n      .logoutUser(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {Array<string>} [fields] partial output\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof UsersApi\n   */\n  public readUser(id: string, fields?: Array<string>, options?: any) {\n    return UsersApiFp(this.configuration)\n      .readUser(id, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} [id]\n   * @param {Array<string>} [fields] partial output\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof UsersApi\n   */\n  public readUser2(id?: string, fields?: Array<string>, options?: any) {\n    return UsersApiFp(this.configuration)\n      .readUser2(id, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {Array<string>} [id] ----- Base Filters ---------------------------  filter: .id &#x3D; any({id}...)\n   * @param {Array<string>} [notId] filter: .id &lt;&gt; all({not_ids}...)\n   * @param {string} [q] ----- User-specific Filters ------------------  filter: (.name|.username|.extension|.status) ILIKE \\&#39;{q}\\&#39;\n   * @param {string} [name] filter: .name ILIKE \\&#39;{name}\\&#39;\n   * @param {string} [status] filter: .status ILIKE \\&#39;{status}\\&#39;\n   * @param {string} [username] filter: .username ILIKE \\&#39;{username}\\&#39;\n   * @param {string} [extension] filter: .extension LIKE \\&#39;{extension}\\&#39;\n   * @param {boolean} [any] ----- View Modes ----------------------------- NOTE: by default, search NOT \\&#39;deleted\\&#39; objects ONLY  filter: include \\&#39;deleted\\&#39; ALSO ! (inactive)\n   * @param {boolean} [deleted] filter: .deleted_at NOTNULL (view: RECYCLE)\n   * @param {string} [presenceStatus]\n   * @param {string} [presenceNote]\n   * @param {Array<string>} [fields] // navigation filter repeated int64 roles &#x3D; 7; ----- Search Options -------------------------  select: output (fields,...)\n   * @param {Array<string>} [sort] select: order by (fields,...)\n   * @param {number} [page] select: offset {page}\n   * @param {number} [size] select: limit {size}\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof UsersApi\n   */\n  public searchUsers(\n    id?: Array<string>,\n    notId?: Array<string>,\n    q?: string,\n    name?: string,\n    status?: string,\n    username?: string,\n    extension?: string,\n    any?: boolean,\n    deleted?: boolean,\n    presenceStatus?: string,\n    presenceNote?: string,\n    fields?: Array<string>,\n    sort?: Array<string>,\n    page?: number,\n    size?: number,\n    options?: any\n  ) {\n    return UsersApiFp(this.configuration)\n      .searchUsers(\n        id,\n        notId,\n        q,\n        name,\n        status,\n        username,\n        extension,\n        any,\n        deleted,\n        presenceStatus,\n        presenceNote,\n        fields,\n        sort,\n        page,\n        size,\n        options\n      )\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {ApiSearchUsersRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof UsersApi\n   */\n  public searchUsers2(body: ApiSearchUsersRequest, options?: any) {\n    return UsersApiFp(this.configuration)\n      .searchUsers2(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} userId Object ID\n   * @param {BodyModificationsChanges} user\n   * @param {Array<string>} [fields] PATCH: partial update\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof UsersApi\n   */\n  public updateUser(\n    userId: string,\n    user: BodyModificationsChanges,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return UsersApiFp(this.configuration)\n      .updateUser(userId, user, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} userId Object ID\n   * @param {BodyModificationsChanges1} user\n   * @param {Array<string>} [fields] PATCH: partial update\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof UsersApi\n   */\n  public updateUser2(\n    userId: string,\n    user: BodyModificationsChanges1,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return UsersApiFp(this.configuration)\n      .updateUser2(userId, user, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { NEWVariableUpdate } from '../api'\n// @ts-ignore\nimport { NEWVariableUpdate1 } from '../api'\n// @ts-ignore\nimport { WebitelContactsInputVariable } from '../api'\n// @ts-ignore\nimport { WebitelContactsVariable } from '../api'\n// @ts-ignore\nimport { WebitelContactsVariableList } from '../api'\n/**\n * VariablesApi - axios parameter creator\n * @export\n */\nexport const VariablesApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Remove the contact\\'s variable by etag\n     * @param {string} contactId Contact ID associated with.\n     * @param {string} etag Unique ID to remove.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteVariable: async (\n      contactId: string,\n      etag: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling deleteVariable.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling deleteVariable.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/variables/{etag}`\n        .replace(`{${'contact_id'}}`, encodeURIComponent(String(contactId)))\n        .replace(`{${'etag'}}`, encodeURIComponent(String(etag)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Remove variable(s) of the contact\n     * @param {string} contactId Contact ID associated with.\n     * @param {Array<string>} etag Set of unique ID(s) to remove.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteVariables: async (\n      contactId: string,\n      etag: Array<string>,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling deleteVariables.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling deleteVariables.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/variables`.replace(\n        `{${'contact_id'}}`,\n        encodeURIComponent(String(contactId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (etag) {\n        localVarQueryParameter['etag'] = etag\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary List variables of the contact\n     * @param {string} contactId Contact ID associated with.\n     * @param {number} [page] Page number of result. offset &#x3D; ((page-1)*size)\n     * @param {number} [size] Size of result page. limit &#x3D; (size++)\n     * @param {string} [q] Search term: variable key; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {Array<string>} [id] Record(s) with unique ID only.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listVariables: async (\n      contactId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling listVariables.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/variables`.replace(\n        `{${'contact_id'}}`,\n        encodeURIComponent(String(contactId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update or append variables to the contact\n     * @param {string} contactId Link contact ID.\n     * @param {Array<WebitelContactsInputVariable>} input Fixed object of unique variables to associate with a Contact. Each individual key of an object represents a separate variable. Variable{key} already linked with the Contact and listed here will be updated.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    mergeVariables: async (\n      contactId: string,\n      input: Array<WebitelContactsInputVariable>,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling mergeVariables.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling mergeVariables.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/variables`.replace(\n        `{${'contact_id'}}`,\n        encodeURIComponent(String(contactId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Reset all variables of the contact\n     * @param {string} contactId Contact ID associated with.\n     * @param {Array<WebitelContactsInputVariable>} input Fixed object of unique variables to associate with a Contact. Each individual key of an object represents a separate variable. Variable{key} already linked with the Contact but not listed here will be removed.\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    resetVariables: async (\n      contactId: string,\n      input: Array<WebitelContactsInputVariable>,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling resetVariables.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling resetVariables.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/variables`.replace(\n        `{${'contact_id'}}`,\n        encodeURIComponent(String(contactId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update contact variable\n     * @param {string} contactId Contact ID associated with.\n     * @param {string} etag Unique ID of the latest version of an existing resorce.\n     * @param {NEWVariableUpdate} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateVariable: async (\n      contactId: string,\n      etag: string,\n      input: NEWVariableUpdate,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling updateVariable.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling updateVariable.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateVariable.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/variables/{etag}`\n        .replace(`{${'contact_id'}}`, encodeURIComponent(String(contactId)))\n        .replace(`{${'etag'}}`, encodeURIComponent(String(etag)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update contact variable\n     * @param {string} contactId Contact ID associated with.\n     * @param {string} etag Unique ID of the latest version of an existing resorce.\n     * @param {NEWVariableUpdate1} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateVariable2: async (\n      contactId: string,\n      etag: string,\n      input: NEWVariableUpdate1,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contactId' is not null or undefined\n      if (contactId === null || contactId === undefined) {\n        throw new RequiredError(\n          'contactId',\n          'Required parameter contactId was null or undefined when calling updateVariable2.'\n        )\n      }\n      // verify required parameter 'etag' is not null or undefined\n      if (etag === null || etag === undefined) {\n        throw new RequiredError(\n          'etag',\n          'Required parameter etag was null or undefined when calling updateVariable2.'\n        )\n      }\n      // verify required parameter 'input' is not null or undefined\n      if (input === null || input === undefined) {\n        throw new RequiredError(\n          'input',\n          'Required parameter input was null or undefined when calling updateVariable2.'\n        )\n      }\n      const localVarPath = `/contacts/{contact_id}/variables/{etag}`\n        .replace(`{${'contact_id'}}`, encodeURIComponent(String(contactId)))\n        .replace(`{${'etag'}}`, encodeURIComponent(String(etag)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof input !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(input !== undefined ? input : {})\n        : input || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * VariablesApi - functional programming interface\n * @export\n */\nexport const VariablesApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Remove the contact\\'s variable by etag\n     * @param {string} contactId Contact ID associated with.\n     * @param {string} etag Unique ID to remove.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteVariable(\n      contactId: string,\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsVariable>\n    > {\n      const localVarAxiosArgs = await VariablesApiAxiosParamCreator(\n        configuration\n      ).deleteVariable(contactId, etag, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Remove variable(s) of the contact\n     * @param {string} contactId Contact ID associated with.\n     * @param {Array<string>} etag Set of unique ID(s) to remove.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteVariables(\n      contactId: string,\n      etag: Array<string>,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsVariableList>\n    > {\n      const localVarAxiosArgs = await VariablesApiAxiosParamCreator(\n        configuration\n      ).deleteVariables(contactId, etag, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary List variables of the contact\n     * @param {string} contactId Contact ID associated with.\n     * @param {number} [page] Page number of result. offset &#x3D; ((page-1)*size)\n     * @param {number} [size] Size of result page. limit &#x3D; (size++)\n     * @param {string} [q] Search term: variable key; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {Array<string>} [id] Record(s) with unique ID only.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async listVariables(\n      contactId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsVariableList>\n    > {\n      const localVarAxiosArgs = await VariablesApiAxiosParamCreator(\n        configuration\n      ).listVariables(contactId, page, size, q, sort, fields, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update or append variables to the contact\n     * @param {string} contactId Link contact ID.\n     * @param {Array<WebitelContactsInputVariable>} input Fixed object of unique variables to associate with a Contact. Each individual key of an object represents a separate variable. Variable{key} already linked with the Contact and listed here will be updated.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async mergeVariables(\n      contactId: string,\n      input: Array<WebitelContactsInputVariable>,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsVariableList>\n    > {\n      const localVarAxiosArgs = await VariablesApiAxiosParamCreator(\n        configuration\n      ).mergeVariables(contactId, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Reset all variables of the contact\n     * @param {string} contactId Contact ID associated with.\n     * @param {Array<WebitelContactsInputVariable>} input Fixed object of unique variables to associate with a Contact. Each individual key of an object represents a separate variable. Variable{key} already linked with the Contact but not listed here will be removed.\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async resetVariables(\n      contactId: string,\n      input: Array<WebitelContactsInputVariable>,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsVariableList>\n    > {\n      const localVarAxiosArgs = await VariablesApiAxiosParamCreator(\n        configuration\n      ).resetVariables(contactId, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update contact variable\n     * @param {string} contactId Contact ID associated with.\n     * @param {string} etag Unique ID of the latest version of an existing resorce.\n     * @param {NEWVariableUpdate} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateVariable(\n      contactId: string,\n      etag: string,\n      input: NEWVariableUpdate,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsVariableList>\n    > {\n      const localVarAxiosArgs = await VariablesApiAxiosParamCreator(\n        configuration\n      ).updateVariable(contactId, etag, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update contact variable\n     * @param {string} contactId Contact ID associated with.\n     * @param {string} etag Unique ID of the latest version of an existing resorce.\n     * @param {NEWVariableUpdate1} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateVariable2(\n      contactId: string,\n      etag: string,\n      input: NEWVariableUpdate1,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WebitelContactsVariableList>\n    > {\n      const localVarAxiosArgs = await VariablesApiAxiosParamCreator(\n        configuration\n      ).updateVariable2(contactId, etag, input, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * VariablesApi - factory interface\n * @export\n */\nexport const VariablesApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Remove the contact\\'s variable by etag\n     * @param {string} contactId Contact ID associated with.\n     * @param {string} etag Unique ID to remove.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteVariable(\n      contactId: string,\n      etag: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsVariable> {\n      return VariablesApiFp(configuration)\n        .deleteVariable(contactId, etag, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Remove variable(s) of the contact\n     * @param {string} contactId Contact ID associated with.\n     * @param {Array<string>} etag Set of unique ID(s) to remove.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteVariables(\n      contactId: string,\n      etag: Array<string>,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsVariableList> {\n      return VariablesApiFp(configuration)\n        .deleteVariables(contactId, etag, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary List variables of the contact\n     * @param {string} contactId Contact ID associated with.\n     * @param {number} [page] Page number of result. offset &#x3D; ((page-1)*size)\n     * @param {number} [size] Size of result page. limit &#x3D; (size++)\n     * @param {string} [q] Search term: variable key; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n     * @param {Array<string>} [sort] Sort the result according to fields.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {Array<string>} [id] Record(s) with unique ID only.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    listVariables(\n      contactId: string,\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: Array<string>,\n      fields?: Array<string>,\n      id?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsVariableList> {\n      return VariablesApiFp(configuration)\n        .listVariables(contactId, page, size, q, sort, fields, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update or append variables to the contact\n     * @param {string} contactId Link contact ID.\n     * @param {Array<WebitelContactsInputVariable>} input Fixed object of unique variables to associate with a Contact. Each individual key of an object represents a separate variable. Variable{key} already linked with the Contact and listed here will be updated.\n     * @param {Array<string>} [fields] Fields to be retrieved as a result.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    mergeVariables(\n      contactId: string,\n      input: Array<WebitelContactsInputVariable>,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsVariableList> {\n      return VariablesApiFp(configuration)\n        .mergeVariables(contactId, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Reset all variables of the contact\n     * @param {string} contactId Contact ID associated with.\n     * @param {Array<WebitelContactsInputVariable>} input Fixed object of unique variables to associate with a Contact. Each individual key of an object represents a separate variable. Variable{key} already linked with the Contact but not listed here will be removed.\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    resetVariables(\n      contactId: string,\n      input: Array<WebitelContactsInputVariable>,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsVariableList> {\n      return VariablesApiFp(configuration)\n        .resetVariables(contactId, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update contact variable\n     * @param {string} contactId Contact ID associated with.\n     * @param {string} etag Unique ID of the latest version of an existing resorce.\n     * @param {NEWVariableUpdate} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateVariable(\n      contactId: string,\n      etag: string,\n      input: NEWVariableUpdate,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsVariableList> {\n      return VariablesApiFp(configuration)\n        .updateVariable(contactId, etag, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update contact variable\n     * @param {string} contactId Contact ID associated with.\n     * @param {string} etag Unique ID of the latest version of an existing resorce.\n     * @param {NEWVariableUpdate1} input\n     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateVariable2(\n      contactId: string,\n      etag: string,\n      input: NEWVariableUpdate1,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WebitelContactsVariableList> {\n      return VariablesApiFp(configuration)\n        .updateVariable2(contactId, etag, input, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * VariablesApi - object-oriented interface\n * @export\n * @class VariablesApi\n * @extends {BaseAPI}\n */\nexport class VariablesApi extends BaseAPI {\n  /**\n   *\n   * @summary Remove the contact\\'s variable by etag\n   * @param {string} contactId Contact ID associated with.\n   * @param {string} etag Unique ID to remove.\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof VariablesApi\n   */\n  public deleteVariable(\n    contactId: string,\n    etag: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return VariablesApiFp(this.configuration)\n      .deleteVariable(contactId, etag, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Remove variable(s) of the contact\n   * @param {string} contactId Contact ID associated with.\n   * @param {Array<string>} etag Set of unique ID(s) to remove.\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof VariablesApi\n   */\n  public deleteVariables(\n    contactId: string,\n    etag: Array<string>,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return VariablesApiFp(this.configuration)\n      .deleteVariables(contactId, etag, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary List variables of the contact\n   * @param {string} contactId Contact ID associated with.\n   * @param {number} [page] Page number of result. offset &#x3D; ((page-1)*size)\n   * @param {number} [size] Size of result page. limit &#x3D; (size++)\n   * @param {string} [q] Search term: variable key; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters\n   * @param {Array<string>} [sort] Sort the result according to fields.\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {Array<string>} [id] Record(s) with unique ID only.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof VariablesApi\n   */\n  public listVariables(\n    contactId: string,\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: Array<string>,\n    fields?: Array<string>,\n    id?: Array<string>,\n    options?: any\n  ) {\n    return VariablesApiFp(this.configuration)\n      .listVariables(contactId, page, size, q, sort, fields, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update or append variables to the contact\n   * @param {string} contactId Link contact ID.\n   * @param {Array<WebitelContactsInputVariable>} input Fixed object of unique variables to associate with a Contact. Each individual key of an object represents a separate variable. Variable{key} already linked with the Contact and listed here will be updated.\n   * @param {Array<string>} [fields] Fields to be retrieved as a result.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof VariablesApi\n   */\n  public mergeVariables(\n    contactId: string,\n    input: Array<WebitelContactsInputVariable>,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return VariablesApiFp(this.configuration)\n      .mergeVariables(contactId, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Reset all variables of the contact\n   * @param {string} contactId Contact ID associated with.\n   * @param {Array<WebitelContactsInputVariable>} input Fixed object of unique variables to associate with a Contact. Each individual key of an object represents a separate variable. Variable{key} already linked with the Contact but not listed here will be removed.\n   * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof VariablesApi\n   */\n  public resetVariables(\n    contactId: string,\n    input: Array<WebitelContactsInputVariable>,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return VariablesApiFp(this.configuration)\n      .resetVariables(contactId, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update contact variable\n   * @param {string} contactId Contact ID associated with.\n   * @param {string} etag Unique ID of the latest version of an existing resorce.\n   * @param {NEWVariableUpdate} input\n   * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof VariablesApi\n   */\n  public updateVariable(\n    contactId: string,\n    etag: string,\n    input: NEWVariableUpdate,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return VariablesApiFp(this.configuration)\n      .updateVariable(contactId, etag, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update contact variable\n   * @param {string} contactId Contact ID associated with.\n   * @param {string} etag Unique ID of the latest version of an existing resorce.\n   * @param {NEWVariableUpdate1} input\n   * @param {Array<string>} [fields] Fields to be retrieved into result of changes.\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof VariablesApi\n   */\n  public updateVariable2(\n    contactId: string,\n    etag: string,\n    input: NEWVariableUpdate1,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return VariablesApiFp(this.configuration)\n      .updateVariable2(contactId, etag, input, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { EngineCreateWebHookRequest } from '../api'\n// @ts-ignore\nimport { EngineListWebHook } from '../api'\n// @ts-ignore\nimport { EngineWebHook } from '../api'\n// @ts-ignore\nimport { EngineWebHookServicePatchWebHookBody } from '../api'\n// @ts-ignore\nimport { EngineWebHookServiceUpdateWebHookBody } from '../api'\n// @ts-ignore\nimport { GoogleRpcStatus } from '../api'\n/**\n * WebHookServiceApi - axios parameter creator\n * @export\n */\nexport const WebHookServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @summary Create WebHook\n     * @param {EngineCreateWebHookRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createWebHook: async (\n      body: EngineCreateWebHookRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createWebHook.'\n        )\n      }\n      const localVarPath = `/hook`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Remove WebHook\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteWebHook: async (\n      id: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteWebHook.'\n        )\n      }\n      const localVarPath = `/hook/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Patch WebHook\n     * @param {number} id\n     * @param {EngineWebHookServicePatchWebHookBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchWebHook: async (\n      id: number,\n      body: EngineWebHookServicePatchWebHookBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling patchWebHook.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling patchWebHook.'\n        )\n      }\n      const localVarPath = `/hook/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PATCH',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary WebHook item\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readWebHook: async (\n      id: number,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readWebHook.'\n        )\n      }\n      const localVarPath = `/hook/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary List of WebHook\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchWebHook: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/hook`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      if (id) {\n        localVarQueryParameter['id'] = id\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @summary Update WebHook\n     * @param {number} id\n     * @param {EngineWebHookServiceUpdateWebHookBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateWebHook: async (\n      id: number,\n      body: EngineWebHookServiceUpdateWebHookBody,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateWebHook.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateWebHook.'\n        )\n      }\n      const localVarPath = `/hook/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * WebHookServiceApi - functional programming interface\n * @export\n */\nexport const WebHookServiceApiFp = function(configuration?: Configuration) {\n  return {\n    /**\n     *\n     * @summary Create WebHook\n     * @param {EngineCreateWebHookRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createWebHook(\n      body: EngineCreateWebHookRequest,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineWebHook>\n    > {\n      const localVarAxiosArgs = await WebHookServiceApiAxiosParamCreator(\n        configuration\n      ).createWebHook(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Remove WebHook\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteWebHook(\n      id: number,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineWebHook>\n    > {\n      const localVarAxiosArgs = await WebHookServiceApiAxiosParamCreator(\n        configuration\n      ).deleteWebHook(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Patch WebHook\n     * @param {number} id\n     * @param {EngineWebHookServicePatchWebHookBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async patchWebHook(\n      id: number,\n      body: EngineWebHookServicePatchWebHookBody,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineWebHook>\n    > {\n      const localVarAxiosArgs = await WebHookServiceApiAxiosParamCreator(\n        configuration\n      ).patchWebHook(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary WebHook item\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readWebHook(\n      id: number,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineWebHook>\n    > {\n      const localVarAxiosArgs = await WebHookServiceApiAxiosParamCreator(\n        configuration\n      ).readWebHook(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary List of WebHook\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchWebHook(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<EngineListWebHook>\n    > {\n      const localVarAxiosArgs = await WebHookServiceApiAxiosParamCreator(\n        configuration\n      ).searchWebHook(page, size, q, sort, fields, id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @summary Update WebHook\n     * @param {number} id\n     * @param {EngineWebHookServiceUpdateWebHookBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateWebHook(\n      id: number,\n      body: EngineWebHookServiceUpdateWebHookBody,\n      options?: any\n    ): Promise<\n      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineWebHook>\n    > {\n      const localVarAxiosArgs = await WebHookServiceApiAxiosParamCreator(\n        configuration\n      ).updateWebHook(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * WebHookServiceApi - factory interface\n * @export\n */\nexport const WebHookServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @summary Create WebHook\n     * @param {EngineCreateWebHookRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createWebHook(\n      body: EngineCreateWebHookRequest,\n      options?: any\n    ): AxiosPromise<EngineWebHook> {\n      return WebHookServiceApiFp(configuration)\n        .createWebHook(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Remove WebHook\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteWebHook(id: number, options?: any): AxiosPromise<EngineWebHook> {\n      return WebHookServiceApiFp(configuration)\n        .deleteWebHook(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Patch WebHook\n     * @param {number} id\n     * @param {EngineWebHookServicePatchWebHookBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchWebHook(\n      id: number,\n      body: EngineWebHookServicePatchWebHookBody,\n      options?: any\n    ): AxiosPromise<EngineWebHook> {\n      return WebHookServiceApiFp(configuration)\n        .patchWebHook(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary WebHook item\n     * @param {number} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readWebHook(id: number, options?: any): AxiosPromise<EngineWebHook> {\n      return WebHookServiceApiFp(configuration)\n        .readWebHook(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary List of WebHook\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {Array<number>} [id]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchWebHook(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      id?: Array<number>,\n      options?: any\n    ): AxiosPromise<EngineListWebHook> {\n      return WebHookServiceApiFp(configuration)\n        .searchWebHook(page, size, q, sort, fields, id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @summary Update WebHook\n     * @param {number} id\n     * @param {EngineWebHookServiceUpdateWebHookBody} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateWebHook(\n      id: number,\n      body: EngineWebHookServiceUpdateWebHookBody,\n      options?: any\n    ): AxiosPromise<EngineWebHook> {\n      return WebHookServiceApiFp(configuration)\n        .updateWebHook(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * WebHookServiceApi - object-oriented interface\n * @export\n * @class WebHookServiceApi\n * @extends {BaseAPI}\n */\nexport class WebHookServiceApi extends BaseAPI {\n  /**\n   *\n   * @summary Create WebHook\n   * @param {EngineCreateWebHookRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof WebHookServiceApi\n   */\n  public createWebHook(body: EngineCreateWebHookRequest, options?: any) {\n    return WebHookServiceApiFp(this.configuration)\n      .createWebHook(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Remove WebHook\n   * @param {number} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof WebHookServiceApi\n   */\n  public deleteWebHook(id: number, options?: any) {\n    return WebHookServiceApiFp(this.configuration)\n      .deleteWebHook(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Patch WebHook\n   * @param {number} id\n   * @param {EngineWebHookServicePatchWebHookBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof WebHookServiceApi\n   */\n  public patchWebHook(\n    id: number,\n    body: EngineWebHookServicePatchWebHookBody,\n    options?: any\n  ) {\n    return WebHookServiceApiFp(this.configuration)\n      .patchWebHook(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary WebHook item\n   * @param {number} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof WebHookServiceApi\n   */\n  public readWebHook(id: number, options?: any) {\n    return WebHookServiceApiFp(this.configuration)\n      .readWebHook(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary List of WebHook\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {Array<number>} [id]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof WebHookServiceApi\n   */\n  public searchWebHook(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    id?: Array<number>,\n    options?: any\n  ) {\n    return WebHookServiceApiFp(this.configuration)\n      .searchWebHook(page, size, q, sort, fields, id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @summary Update WebHook\n   * @param {number} id\n   * @param {EngineWebHookServiceUpdateWebHookBody} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof WebHookServiceApi\n   */\n  public updateWebHook(\n    id: number,\n    body: EngineWebHookServiceUpdateWebHookBody,\n    options?: any\n  ) {\n    return WebHookServiceApiFp(this.configuration)\n      .updateWebHook(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { InlineObject10 } from '../api'\n// @ts-ignore\nimport { WfmCreateWorkingConditionRequest } from '../api'\n// @ts-ignore\nimport { WfmCreateWorkingConditionResponse } from '../api'\n// @ts-ignore\nimport { WfmDeleteWorkingConditionResponse } from '../api'\n// @ts-ignore\nimport { WfmReadWorkingConditionResponse } from '../api'\n// @ts-ignore\nimport { WfmSearchWorkingConditionResponse } from '../api'\n// @ts-ignore\nimport { WfmUpdateWorkingConditionResponse } from '../api'\n/**\n * WorkingConditionServiceApi - axios parameter creator\n * @export\n */\nexport const WorkingConditionServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {WfmCreateWorkingConditionRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createWorkingCondition: async (\n      body: WfmCreateWorkingConditionRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createWorkingCondition.'\n        )\n      }\n      const localVarPath = `/wfm/lookups/working_conditions`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteWorkingCondition: async (\n      id: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteWorkingCondition.'\n        )\n      }\n      const localVarPath = `/wfm/lookups/working_conditions/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readWorkingCondition: async (\n      id: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readWorkingCondition.'\n        )\n      }\n      const localVarPath = `/wfm/lookups/working_conditions/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchWorkingCondition: async (\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/wfm/lookups/working_conditions`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} itemId\n     * @param {InlineObject10} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateWorkingCondition: async (\n      itemId: string,\n      body: InlineObject10,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'itemId' is not null or undefined\n      if (itemId === null || itemId === undefined) {\n        throw new RequiredError(\n          'itemId',\n          'Required parameter itemId was null or undefined when calling updateWorkingCondition.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateWorkingCondition.'\n        )\n      }\n      const localVarPath = `/wfm/lookups/working_conditions/{item.id}`.replace(\n        `{${'item.id'}}`,\n        encodeURIComponent(String(itemId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * WorkingConditionServiceApi - functional programming interface\n * @export\n */\nexport const WorkingConditionServiceApiFp = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {WfmCreateWorkingConditionRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createWorkingCondition(\n      body: WfmCreateWorkingConditionRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmCreateWorkingConditionResponse>\n    > {\n      const localVarAxiosArgs = await WorkingConditionServiceApiAxiosParamCreator(\n        configuration\n      ).createWorkingCondition(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteWorkingCondition(\n      id: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmDeleteWorkingConditionResponse>\n    > {\n      const localVarAxiosArgs = await WorkingConditionServiceApiAxiosParamCreator(\n        configuration\n      ).deleteWorkingCondition(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readWorkingCondition(\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmReadWorkingConditionResponse>\n    > {\n      const localVarAxiosArgs = await WorkingConditionServiceApiAxiosParamCreator(\n        configuration\n      ).readWorkingCondition(id, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchWorkingCondition(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmSearchWorkingConditionResponse>\n    > {\n      const localVarAxiosArgs = await WorkingConditionServiceApiAxiosParamCreator(\n        configuration\n      ).searchWorkingCondition(page, size, q, sort, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} itemId\n     * @param {InlineObject10} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateWorkingCondition(\n      itemId: string,\n      body: InlineObject10,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmUpdateWorkingConditionResponse>\n    > {\n      const localVarAxiosArgs = await WorkingConditionServiceApiAxiosParamCreator(\n        configuration\n      ).updateWorkingCondition(itemId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * WorkingConditionServiceApi - factory interface\n * @export\n */\nexport const WorkingConditionServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {WfmCreateWorkingConditionRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createWorkingCondition(\n      body: WfmCreateWorkingConditionRequest,\n      options?: any\n    ): AxiosPromise<WfmCreateWorkingConditionResponse> {\n      return WorkingConditionServiceApiFp(configuration)\n        .createWorkingCondition(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteWorkingCondition(\n      id: string,\n      options?: any\n    ): AxiosPromise<WfmDeleteWorkingConditionResponse> {\n      return WorkingConditionServiceApiFp(configuration)\n        .deleteWorkingCondition(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readWorkingCondition(\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WfmReadWorkingConditionResponse> {\n      return WorkingConditionServiceApiFp(configuration)\n        .readWorkingCondition(id, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [q]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchWorkingCondition(\n      page?: number,\n      size?: number,\n      q?: string,\n      sort?: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WfmSearchWorkingConditionResponse> {\n      return WorkingConditionServiceApiFp(configuration)\n        .searchWorkingCondition(page, size, q, sort, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} itemId\n     * @param {InlineObject10} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateWorkingCondition(\n      itemId: string,\n      body: InlineObject10,\n      options?: any\n    ): AxiosPromise<WfmUpdateWorkingConditionResponse> {\n      return WorkingConditionServiceApiFp(configuration)\n        .updateWorkingCondition(itemId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * WorkingConditionServiceApi - object-oriented interface\n * @export\n * @class WorkingConditionServiceApi\n * @extends {BaseAPI}\n */\nexport class WorkingConditionServiceApi extends BaseAPI {\n  /**\n   *\n   * @param {WfmCreateWorkingConditionRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof WorkingConditionServiceApi\n   */\n  public createWorkingCondition(\n    body: WfmCreateWorkingConditionRequest,\n    options?: any\n  ) {\n    return WorkingConditionServiceApiFp(this.configuration)\n      .createWorkingCondition(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof WorkingConditionServiceApi\n   */\n  public deleteWorkingCondition(id: string, options?: any) {\n    return WorkingConditionServiceApiFp(this.configuration)\n      .deleteWorkingCondition(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof WorkingConditionServiceApi\n   */\n  public readWorkingCondition(\n    id: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return WorkingConditionServiceApiFp(this.configuration)\n      .readWorkingCondition(id, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [q]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof WorkingConditionServiceApi\n   */\n  public searchWorkingCondition(\n    page?: number,\n    size?: number,\n    q?: string,\n    sort?: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return WorkingConditionServiceApiFp(this.configuration)\n      .searchWorkingCondition(page, size, q, sort, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} itemId\n   * @param {InlineObject10} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof WorkingConditionServiceApi\n   */\n  public updateWorkingCondition(\n    itemId: string,\n    body: InlineObject10,\n    options?: any\n  ) {\n    return WorkingConditionServiceApiFp(this.configuration)\n      .updateWorkingCondition(itemId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport * as globalImportUrl from '../url-shim'\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios'\nimport { Configuration } from '../configuration'\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  BASE_PATH,\n  COLLECTION_FORMATS,\n  RequestArgs,\n  BaseAPI,\n  RequiredError,\n} from '../base'\n// @ts-ignore\nimport { InlineObject11 } from '../api'\n// @ts-ignore\nimport { InlineObject12 } from '../api'\n// @ts-ignore\nimport { WfmCreateWorkingScheduleRequest } from '../api'\n// @ts-ignore\nimport { WfmCreateWorkingScheduleResponse } from '../api'\n// @ts-ignore\nimport { WfmDeleteWorkingScheduleResponse } from '../api'\n// @ts-ignore\nimport { WfmReadWorkingScheduleForecastResponse } from '../api'\n// @ts-ignore\nimport { WfmReadWorkingScheduleResponse } from '../api'\n// @ts-ignore\nimport { WfmSearchWorkingScheduleResponse } from '../api'\n// @ts-ignore\nimport { WfmUpdateWorkingScheduleAddAgentsResponse } from '../api'\n// @ts-ignore\nimport { WfmUpdateWorkingScheduleRemoveAgentResponse } from '../api'\n// @ts-ignore\nimport { WfmUpdateWorkingScheduleResponse } from '../api'\n/**\n * WorkingScheduleServiceApi - axios parameter creator\n * @export\n */\nexport const WorkingScheduleServiceApiAxiosParamCreator = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {WfmCreateWorkingScheduleRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createWorkingSchedule: async (\n      body: WfmCreateWorkingScheduleRequest,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling createWorkingSchedule.'\n        )\n      }\n      const localVarPath = `/wfm/lookups/working_schedules`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteWorkingSchedule: async (\n      id: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling deleteWorkingSchedule.'\n        )\n      }\n      const localVarPath = `/wfm/lookups/working_schedules/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readWorkingSchedule: async (\n      id: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readWorkingSchedule.'\n        )\n      }\n      const localVarPath = `/wfm/lookups/working_schedules/{id}`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {string} [dateFrom]\n     * @param {string} [dateTo]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readWorkingScheduleForecast: async (\n      id: string,\n      dateFrom?: string,\n      dateTo?: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling readWorkingScheduleForecast.'\n        )\n      }\n      const localVarPath = `/wfm/lookups/working_schedules/{id}/forecast`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (dateFrom !== undefined) {\n        localVarQueryParameter['date.from'] = dateFrom\n      }\n\n      if (dateTo !== undefined) {\n        localVarQueryParameter['date.to'] = dateTo\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} [q]\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchWorkingSchedule: async (\n      q?: string,\n      page?: number,\n      size?: number,\n      sort?: string,\n      fields?: Array<string>,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/wfm/lookups/working_schedules`\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'GET',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      if (q !== undefined) {\n        localVarQueryParameter['q'] = q\n      }\n\n      if (page !== undefined) {\n        localVarQueryParameter['page'] = page\n      }\n\n      if (size !== undefined) {\n        localVarQueryParameter['size'] = size\n      }\n\n      if (sort !== undefined) {\n        localVarQueryParameter['sort'] = sort\n      }\n\n      if (fields) {\n        localVarQueryParameter['fields'] = fields\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} itemId\n     * @param {InlineObject12} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateWorkingSchedule: async (\n      itemId: string,\n      body: InlineObject12,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'itemId' is not null or undefined\n      if (itemId === null || itemId === undefined) {\n        throw new RequiredError(\n          'itemId',\n          'Required parameter itemId was null or undefined when calling updateWorkingSchedule.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateWorkingSchedule.'\n        )\n      }\n      const localVarPath = `/wfm/lookups/working_schedules/{item.id}`.replace(\n        `{${'item.id'}}`,\n        encodeURIComponent(String(itemId))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'PUT',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {InlineObject11} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateWorkingScheduleAddAgents: async (\n      id: string,\n      body: InlineObject11,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateWorkingScheduleAddAgents.'\n        )\n      }\n      // verify required parameter 'body' is not null or undefined\n      if (body === null || body === undefined) {\n        throw new RequiredError(\n          'body',\n          'Required parameter body was null or undefined when calling updateWorkingScheduleAddAgents.'\n        )\n      }\n      const localVarPath = `/wfm/lookups/working_schedules/{id}/agents`.replace(\n        `{${'id'}}`,\n        encodeURIComponent(String(id))\n      )\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'POST',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarHeaderParameter['Content-Type'] = 'application/json'\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n      const needsSerialization =\n        typeof body !== 'string' ||\n        localVarRequestOptions.headers['Content-Type'] === 'application/json'\n      localVarRequestOptions.data = needsSerialization\n        ? JSON.stringify(body !== undefined ? body : {})\n        : body || ''\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {string} agentId\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateWorkingScheduleRemoveAgent: async (\n      id: string,\n      agentId: string,\n      options: any = {}\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'id' is not null or undefined\n      if (id === null || id === undefined) {\n        throw new RequiredError(\n          'id',\n          'Required parameter id was null or undefined when calling updateWorkingScheduleRemoveAgent.'\n        )\n      }\n      // verify required parameter 'agentId' is not null or undefined\n      if (agentId === null || agentId === undefined) {\n        throw new RequiredError(\n          'agentId',\n          'Required parameter agentId was null or undefined when calling updateWorkingScheduleRemoveAgent.'\n        )\n      }\n      const localVarPath = `/wfm/lookups/working_schedules/{id}/agents/{agent_id}`\n        .replace(`{${'id'}}`, encodeURIComponent(String(id)))\n        .replace(`{${'agent_id'}}`, encodeURIComponent(String(agentId)))\n      const localVarUrlObj = globalImportUrl.parse(localVarPath, true)\n      let baseOptions\n      if (configuration) {\n        baseOptions = configuration.baseOptions\n      }\n      const localVarRequestOptions = {\n        method: 'DELETE',\n        ...baseOptions,\n        ...options,\n      }\n      const localVarHeaderParameter = {} as any\n      const localVarQueryParameter = {} as any\n\n      // authentication AccessToken required\n      if (configuration && configuration.apiKey) {\n        const localVarApiKeyValue =\n          typeof configuration.apiKey === 'function'\n            ? await configuration.apiKey('X-Webitel-Access')\n            : await configuration.apiKey\n        localVarHeaderParameter['X-Webitel-Access'] = localVarApiKeyValue\n      }\n\n      localVarUrlObj.query = {\n        ...localVarUrlObj.query,\n        ...localVarQueryParameter,\n        ...options.query,\n      }\n      // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n      delete localVarUrlObj.search\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {}\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      }\n\n      return {\n        url: globalImportUrl.format(localVarUrlObj),\n        options: localVarRequestOptions,\n      }\n    },\n  }\n}\n\n/**\n * WorkingScheduleServiceApi - functional programming interface\n * @export\n */\nexport const WorkingScheduleServiceApiFp = function(\n  configuration?: Configuration\n) {\n  return {\n    /**\n     *\n     * @param {WfmCreateWorkingScheduleRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createWorkingSchedule(\n      body: WfmCreateWorkingScheduleRequest,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmCreateWorkingScheduleResponse>\n    > {\n      const localVarAxiosArgs = await WorkingScheduleServiceApiAxiosParamCreator(\n        configuration\n      ).createWorkingSchedule(body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteWorkingSchedule(\n      id: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmDeleteWorkingScheduleResponse>\n    > {\n      const localVarAxiosArgs = await WorkingScheduleServiceApiAxiosParamCreator(\n        configuration\n      ).deleteWorkingSchedule(id, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readWorkingSchedule(\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmReadWorkingScheduleResponse>\n    > {\n      const localVarAxiosArgs = await WorkingScheduleServiceApiAxiosParamCreator(\n        configuration\n      ).readWorkingSchedule(id, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {string} [dateFrom]\n     * @param {string} [dateTo]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async readWorkingScheduleForecast(\n      id: string,\n      dateFrom?: string,\n      dateTo?: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmReadWorkingScheduleForecastResponse>\n    > {\n      const localVarAxiosArgs = await WorkingScheduleServiceApiAxiosParamCreator(\n        configuration\n      ).readWorkingScheduleForecast(id, dateFrom, dateTo, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} [q]\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async searchWorkingSchedule(\n      q?: string,\n      page?: number,\n      size?: number,\n      sort?: string,\n      fields?: Array<string>,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmSearchWorkingScheduleResponse>\n    > {\n      const localVarAxiosArgs = await WorkingScheduleServiceApiAxiosParamCreator(\n        configuration\n      ).searchWorkingSchedule(q, page, size, sort, fields, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} itemId\n     * @param {InlineObject12} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateWorkingSchedule(\n      itemId: string,\n      body: InlineObject12,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmUpdateWorkingScheduleResponse>\n    > {\n      const localVarAxiosArgs = await WorkingScheduleServiceApiAxiosParamCreator(\n        configuration\n      ).updateWorkingSchedule(itemId, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {InlineObject11} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateWorkingScheduleAddAgents(\n      id: string,\n      body: InlineObject11,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmUpdateWorkingScheduleAddAgentsResponse>\n    > {\n      const localVarAxiosArgs = await WorkingScheduleServiceApiAxiosParamCreator(\n        configuration\n      ).updateWorkingScheduleAddAgents(id, body, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {string} agentId\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateWorkingScheduleRemoveAgent(\n      id: string,\n      agentId: string,\n      options?: any\n    ): Promise<\n      (\n        axios?: AxiosInstance,\n        basePath?: string\n      ) => AxiosPromise<WfmUpdateWorkingScheduleRemoveAgentResponse>\n    > {\n      const localVarAxiosArgs = await WorkingScheduleServiceApiAxiosParamCreator(\n        configuration\n      ).updateWorkingScheduleRemoveAgent(id, agentId, options)\n      return (\n        axios: AxiosInstance = globalAxios,\n        basePath: string = BASE_PATH\n      ) => {\n        const axiosRequestArgs = {\n          ...localVarAxiosArgs.options,\n          url: basePath + localVarAxiosArgs.url,\n        }\n        return axios.request(axiosRequestArgs)\n      }\n    },\n  }\n}\n\n/**\n * WorkingScheduleServiceApi - factory interface\n * @export\n */\nexport const WorkingScheduleServiceApiFactory = function(\n  configuration?: Configuration,\n  basePath?: string,\n  axios?: AxiosInstance\n) {\n  return {\n    /**\n     *\n     * @param {WfmCreateWorkingScheduleRequest} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createWorkingSchedule(\n      body: WfmCreateWorkingScheduleRequest,\n      options?: any\n    ): AxiosPromise<WfmCreateWorkingScheduleResponse> {\n      return WorkingScheduleServiceApiFp(configuration)\n        .createWorkingSchedule(body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteWorkingSchedule(\n      id: string,\n      options?: any\n    ): AxiosPromise<WfmDeleteWorkingScheduleResponse> {\n      return WorkingScheduleServiceApiFp(configuration)\n        .deleteWorkingSchedule(id, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readWorkingSchedule(\n      id: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WfmReadWorkingScheduleResponse> {\n      return WorkingScheduleServiceApiFp(configuration)\n        .readWorkingSchedule(id, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {string} [dateFrom]\n     * @param {string} [dateTo]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    readWorkingScheduleForecast(\n      id: string,\n      dateFrom?: string,\n      dateTo?: string,\n      options?: any\n    ): AxiosPromise<WfmReadWorkingScheduleForecastResponse> {\n      return WorkingScheduleServiceApiFp(configuration)\n        .readWorkingScheduleForecast(id, dateFrom, dateTo, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} [q]\n     * @param {number} [page]\n     * @param {number} [size]\n     * @param {string} [sort]\n     * @param {Array<string>} [fields]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    searchWorkingSchedule(\n      q?: string,\n      page?: number,\n      size?: number,\n      sort?: string,\n      fields?: Array<string>,\n      options?: any\n    ): AxiosPromise<WfmSearchWorkingScheduleResponse> {\n      return WorkingScheduleServiceApiFp(configuration)\n        .searchWorkingSchedule(q, page, size, sort, fields, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} itemId\n     * @param {InlineObject12} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateWorkingSchedule(\n      itemId: string,\n      body: InlineObject12,\n      options?: any\n    ): AxiosPromise<WfmUpdateWorkingScheduleResponse> {\n      return WorkingScheduleServiceApiFp(configuration)\n        .updateWorkingSchedule(itemId, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {InlineObject11} body\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateWorkingScheduleAddAgents(\n      id: string,\n      body: InlineObject11,\n      options?: any\n    ): AxiosPromise<WfmUpdateWorkingScheduleAddAgentsResponse> {\n      return WorkingScheduleServiceApiFp(configuration)\n        .updateWorkingScheduleAddAgents(id, body, options)\n        .then((request) => request(axios, basePath))\n    },\n    /**\n     *\n     * @param {string} id\n     * @param {string} agentId\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateWorkingScheduleRemoveAgent(\n      id: string,\n      agentId: string,\n      options?: any\n    ): AxiosPromise<WfmUpdateWorkingScheduleRemoveAgentResponse> {\n      return WorkingScheduleServiceApiFp(configuration)\n        .updateWorkingScheduleRemoveAgent(id, agentId, options)\n        .then((request) => request(axios, basePath))\n    },\n  }\n}\n\n/**\n * WorkingScheduleServiceApi - object-oriented interface\n * @export\n * @class WorkingScheduleServiceApi\n * @extends {BaseAPI}\n */\nexport class WorkingScheduleServiceApi extends BaseAPI {\n  /**\n   *\n   * @param {WfmCreateWorkingScheduleRequest} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof WorkingScheduleServiceApi\n   */\n  public createWorkingSchedule(\n    body: WfmCreateWorkingScheduleRequest,\n    options?: any\n  ) {\n    return WorkingScheduleServiceApiFp(this.configuration)\n      .createWorkingSchedule(body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof WorkingScheduleServiceApi\n   */\n  public deleteWorkingSchedule(id: string, options?: any) {\n    return WorkingScheduleServiceApiFp(this.configuration)\n      .deleteWorkingSchedule(id, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof WorkingScheduleServiceApi\n   */\n  public readWorkingSchedule(\n    id: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return WorkingScheduleServiceApiFp(this.configuration)\n      .readWorkingSchedule(id, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {string} [dateFrom]\n   * @param {string} [dateTo]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof WorkingScheduleServiceApi\n   */\n  public readWorkingScheduleForecast(\n    id: string,\n    dateFrom?: string,\n    dateTo?: string,\n    options?: any\n  ) {\n    return WorkingScheduleServiceApiFp(this.configuration)\n      .readWorkingScheduleForecast(id, dateFrom, dateTo, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} [q]\n   * @param {number} [page]\n   * @param {number} [size]\n   * @param {string} [sort]\n   * @param {Array<string>} [fields]\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof WorkingScheduleServiceApi\n   */\n  public searchWorkingSchedule(\n    q?: string,\n    page?: number,\n    size?: number,\n    sort?: string,\n    fields?: Array<string>,\n    options?: any\n  ) {\n    return WorkingScheduleServiceApiFp(this.configuration)\n      .searchWorkingSchedule(q, page, size, sort, fields, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} itemId\n   * @param {InlineObject12} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof WorkingScheduleServiceApi\n   */\n  public updateWorkingSchedule(\n    itemId: string,\n    body: InlineObject12,\n    options?: any\n  ) {\n    return WorkingScheduleServiceApiFp(this.configuration)\n      .updateWorkingSchedule(itemId, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {InlineObject11} body\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof WorkingScheduleServiceApi\n   */\n  public updateWorkingScheduleAddAgents(\n    id: string,\n    body: InlineObject11,\n    options?: any\n  ) {\n    return WorkingScheduleServiceApiFp(this.configuration)\n      .updateWorkingScheduleAddAgents(id, body, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n\n  /**\n   *\n   * @param {string} id\n   * @param {string} agentId\n   * @param {*} [options] Override http request option.\n   * @throws {RequiredError}\n   * @memberof WorkingScheduleServiceApi\n   */\n  public updateWorkingScheduleRemoveAgent(\n    id: string,\n    agentId: string,\n    options?: any\n  ) {\n    return WorkingScheduleServiceApiFp(this.configuration)\n      .updateWorkingScheduleRemoveAgent(id, agentId, options)\n      .then((request) => request(this.axios, this.basePath))\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nexport interface ConfigurationParameters {\n  apiKey?:\n    | string\n    | Promise<string>\n    | ((name: string) => string)\n    | ((name: string) => Promise<string>)\n  username?: string\n  password?: string\n  accessToken?: string | ((name?: string, scopes?: string[]) => string)\n  basePath?: string\n  baseOptions?: any\n}\n\nexport class Configuration {\n  /**\n   * parameter for apiKey security\n   * @param name security name\n   * @memberof Configuration\n   */\n  apiKey?:\n    | string\n    | Promise<string>\n    | ((name: string) => string)\n    | ((name: string) => Promise<string>)\n  /**\n   * parameter for basic security\n   *\n   * @type {string}\n   * @memberof Configuration\n   */\n  username?: string\n  /**\n   * parameter for basic security\n   *\n   * @type {string}\n   * @memberof Configuration\n   */\n  password?: string\n  /**\n   * parameter for oauth2 security\n   * @param name security name\n   * @param scopes oauth2 scope\n   * @memberof Configuration\n   */\n  accessToken?: string | ((name?: string, scopes?: string[]) => string)\n  /**\n   * override base path\n   *\n   * @type {string}\n   * @memberof Configuration\n   */\n  basePath?: string\n  /**\n   * base options for axios calls\n   *\n   * @type {any}\n   * @memberof Configuration\n   */\n  baseOptions?: any\n\n  constructor(param: ConfigurationParameters = {}) {\n    this.apiKey = param.apiKey\n    this.username = param.username\n    this.password = param.password\n    this.accessToken = param.accessToken\n    this.basePath = param.basePath\n    this.baseOptions = param.baseOptions\n  }\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n *\n * @export\n * @enum {string}\n */\nexport enum ApiSystemObjects {\n  Contacts = 'contacts',\n  CcList = 'cc_list',\n  CcBucket = 'cc_bucket',\n  Calendars = 'calendars',\n  Devices = 'devices',\n  CcAgent = 'cc_agent',\n  CcTeam = 'cc_team',\n  CcResource = 'cc_resource',\n  CcResourceGroup = 'cc_resource_group',\n  CcQueue = 'cc_queue',\n  Roles = 'roles',\n  Users = 'users',\n  CognitiveProfile = 'cognitive_profile',\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n *\n * @export\n * @enum {string}\n */\nexport enum EngineAuditQuestionType {\n  Default = 'question_default',\n  Score = 'question_score',\n  Option = 'question_option',\n  Yes = 'question_yes',\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n *\n * @export\n * @enum {string}\n */\nexport enum EngineCommunicationChannels {\n  Undefined = 'Undefined',\n  Phone = 'Phone',\n  Email = 'Email',\n  Messaging = 'Messaging',\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n *\n * @export\n * @enum {string}\n */\nexport enum EngineEmailAuthType {\n  EmailAuthTypeUndefined = 'EmailAuthTypeUndefined',\n  Plain = 'Plain',\n  OAuth2 = 'OAuth2',\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n *\n * @export\n * @enum {string}\n */\nexport enum EngineHistoryFileJobHistoryFileJobAction {\n  Undefined = 'undefined',\n  STT = 'STT',\n  Delete = 'delete',\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n *\n * @export\n * @enum {string}\n */\nexport enum EngineHistoryFileJobHistoryFileJobState {\n  Idle = 'idle',\n  Active = 'active',\n  Finished = 'finished',\n  Error = 'error',\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n *\n * @export\n * @enum {string}\n */\nexport enum EngineRoutingSchemaType {\n  Default = 'default',\n  Voice = 'voice',\n  Chat = 'chat',\n  Processing = 'processing',\n  Service = 'service',\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n *\n * @export\n * @enum {string}\n */\nexport enum EngineSystemSettingName {\n  EmptySystemSettingsName = 'empty_system_settings_name',\n  EnableOmnichannel = 'enable_omnichannel',\n  MemberChunkSize = 'member_chunk_size',\n  AmdCancelNotHuman = 'amd_cancel_not_human',\n  SchemeVersionLimit = 'scheme_version_limit',\n  Enable2fa = 'enable_2fa',\n  ExportSettings = 'export_settings',\n  SearchNumberLength = 'search_number_length',\n  ChatAiConnection = 'chat_ai_connection',\n  PasswordRegExp = 'password_reg_exp',\n  PasswordValidationText = 'password_validation_text',\n  AutolinkCallToContact = 'autolink_call_to_contact',\n  PeriodToPlaybackRecords = 'period_to_playback_records',\n  IsFulltextSearchEnabled = 'is_fulltext_search_enabled',\n  WbtHideContact = 'wbt_hide_contact',\n  ShowFullContact = 'show_full_contact',\n  CallEndSoundNotification = 'call_end_sound_notification',\n  CallEndPushNotification = 'call_end_push_notification',\n  ChatEndSoundNotification = 'chat_end_sound_notification',\n  ChatEndPushNotification = 'chat_end_push_notification',\n  TaskEndSoundNotification = 'task_end_sound_notification',\n  TaskEndPushNotification = 'task_end_push_notification',\n  PushNotificationTimeout = 'push_notification_timeout',\n  LabelsToLimitContacts = 'labels_to_limit_contacts',\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n *\n * @export\n * @enum {string}\n */\nexport enum EngineTeamHookEvent {\n  TeamHookEventUndefined = 'teamHookEventUndefined',\n  AgentStatus = 'agent_status',\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n *\n * @export\n * @enum {string}\n */\nexport enum EngineTriggerEventType {\n  EmptyTriggerEvent = 'empty_trigger_event',\n  Create = 'create',\n  Update = 'update',\n  Remove = 'remove',\n  ResolutionTime = 'resolution_time',\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n *\n * @export\n * @enum {string}\n */\nexport enum EngineTriggerJobState {\n  Idle = 'idle',\n  Active = 'active',\n  Done = 'done',\n  Error = 'error',\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n *\n * @export\n * @enum {string}\n */\nexport enum EngineTriggerObjectType {\n  EmptyTriggerObject = 'empty_trigger_object',\n  Cases = 'cases',\n  CaseFiles = 'case_files',\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n *\n * @export\n * @enum {string}\n */\nexport enum EngineTriggerType {\n  DefaultTriggerType = 'default_trigger_type',\n  Cron = 'cron',\n  Event = 'event',\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * `NullValue` is a singleton enumeration to represent the null value for the `Value` type union.  The JSON representation for `NullValue` is JSON `null`.   - NULL_VALUE: Null value.\n * @export\n * @enum {string}\n */\nexport enum GoogleProtobufNullValue {\n  NULLVALUE = 'NULL_VALUE',\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n *\n * @export\n * @enum {string}\n */\nexport enum LoggerAction {\n  DefaultNoAction = 'default_no_action',\n  Create = 'create',\n  Update = 'update',\n  Read = 'read',\n  Delete = 'delete',\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n *\n * @export\n * @enum {string}\n */\nexport enum LoggerAvailableSystemObjects {\n  CcQueue = 'cc_queue',\n  Schema = 'schema',\n  Users = 'users',\n  Devices = 'devices',\n  Calendars = 'calendars',\n  CcList = 'cc_list',\n  CcTeam = 'cc_team',\n  CcAgent = 'cc_agent',\n  CcResource = 'cc_resource',\n  CcResourceGroup = 'cc_resource_group',\n  ChatBots = 'chat_bots',\n  Cases = 'cases',\n  Contacts = 'contacts',\n  CcListNumber = 'cc_list_number',\n  CaseComments = 'case_comments',\n  RecordFile = 'record_file',\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n *\n * @export\n * @enum {string}\n */\nexport enum StorageImportSourceType {\n  DefaultSourceType = 'DefaultSourceType',\n  Dialer = 'Dialer',\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n *\n * @export\n * @enum {string}\n */\nexport enum StorageProviderType {\n  DefaultProvider = 'DefaultProvider',\n  Microsoft = 'Microsoft',\n  Google = 'Google',\n  ElevenLabs = 'ElevenLabs',\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n *\n * @export\n * @enum {string}\n */\nexport enum StorageServiceType {\n  DefaultService = 'DefaultService',\n  STT = 'STT',\n  TTS = 'TTS',\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n *\n * @export\n * @enum {string}\n */\nexport enum StorageUploadFileChannel {\n  UnknownChannel = 'UnknownChannel',\n  ChatChannel = 'ChatChannel',\n  MailChannel = 'MailChannel',\n  CallChannel = 'CallChannel',\n  LogChannel = 'LogChannel',\n  MediaChannel = 'MediaChannel',\n  KnowledgebaseChannel = 'KnowledgebaseChannel',\n  CasesChannel = 'CasesChannel',\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n *\n * @export\n * @enum {string}\n */\nexport enum StorageUploadStatusCode {\n  Unknown = 'Unknown',\n  Ok = 'Ok',\n  Failed = 'Failed',\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n *\n * @export\n * @enum {string}\n */\nexport enum WebitelCasesCaseTimelineEventType {\n  Chat = 'chat',\n  Call = 'call',\n  Email = 'email',\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Enum for relation types between cases.\n * @export\n * @enum {string}\n */\nexport enum WebitelCasesRelationType {\n  RELATIONTYPEUNSPECIFIED = 'RELATION_TYPE_UNSPECIFIED',\n  DUPLICATES = 'DUPLICATES',\n  ISDUPLICATEDBY = 'IS_DUPLICATED_BY',\n  BLOCKS = 'BLOCKS',\n  ISBLOCKEDBY = 'IS_BLOCKED_BY',\n  CAUSES = 'CAUSES',\n  ISCAUSEDBY = 'IS_CAUSED_BY',\n  ISCHILDOF = 'IS_CHILD_OF',\n  ISPARENTOF = 'IS_PARENT_OF',\n  RELATESTO = 'RELATES_TO',\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Represents a source type for the source entity.   - TYPE_UNSPECIFIED: Unspecified source type.  - CALL: Phone call source type.  - CHAT: Chat source type.  - SOCIAL_MEDIA: Social media source type.  - EMAIL: Email source type.  - API: API source type.  - MANUAL: Manual source type.\n * @export\n * @enum {string}\n */\nexport enum WebitelCasesSourceType {\n  TYPEUNSPECIFIED = 'TYPE_UNSPECIFIED',\n  CALL = 'CALL',\n  CHAT = 'CHAT',\n  SOCIALMEDIA = 'SOCIAL_MEDIA',\n  EMAIL = 'EMAIL',\n  API = 'API',\n  MANUAL = 'MANUAL',\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * - phone: Phone Number  - email: Email Address  - contact: General Form  - location: Current Location\n * @export\n * @enum {string}\n */\nexport enum WebitelChatButtonRequest {\n  Phone = 'phone',\n  Email = 'email',\n  Contact = 'contact',\n  Location = 'location',\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * - phone: Phone Number  - email: Email Address  - contact: General Form  - location: Current Location\n * @export\n * @enum {string}\n */\nexport enum WebitelChatMessageButtonRequest {\n  Phone = 'phone',\n  Email = 'email',\n  Contact = 'contact',\n  Location = 'location',\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n *\n * @export\n * @enum {string}\n */\nexport enum WebitelContactsAccessMode {\n  READ = 'READ',\n  WRITE = 'WRITE',\n  DELETE = 'DELETE',\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * - GROUP_TYPE_UNSPECIFIED: Default value  - STATIC: Static group  - DYNAMIC: Dynamic group\n * @export\n * @enum {string}\n */\nexport enum WebitelContactsGroupType {\n  GROUPTYPEUNSPECIFIED = 'GROUP_TYPE_UNSPECIFIED',\n  STATIC = 'STATIC',\n  DYNAMIC = 'DYNAMIC',\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n *\n * @export\n * @enum {string}\n */\nexport enum WebitelContactsTimelineEventType {\n  Chat = 'chat',\n  Call = 'call',\n  Email = 'email',\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n *\n * @export\n * @enum {string}\n */\nexport enum WebitelProtoDataImportCSVRequestAction {\n  Continue = 'continue',\n  Break = 'break',\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Kind of primitive data types.   - none: option allow_alias = true;  - list: [array]  - int: int32  - uint: uint32  - float: float32  - datetime: date &| time\n * @export\n * @enum {string}\n */\nexport enum WebitelProtoDataTypeKind {\n  None = 'none',\n  List = 'list',\n  Bool = 'bool',\n  Int = 'int',\n  Int32 = 'int32',\n  Int64 = 'int64',\n  Uint = 'uint',\n  Uint32 = 'uint32',\n  Uint64 = 'uint64',\n  Float = 'float',\n  Float32 = 'float32',\n  Float64 = 'float64',\n  Binary = 'binary',\n  Lookup = 'lookup',\n  String = 'string',\n  Richtext = 'richtext',\n  Datetime = 'datetime',\n  Duration = 'duration',\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n *\n * @export\n * @enum {string}\n */\nexport enum WfmAbsenceType {\n  UNSPECIFIED = 'ABSENCE_TYPE_UNSPECIFIED',\n  DAYOFF = 'ABSENCE_TYPE_DAYOFF',\n  VACATION = 'ABSENCE_TYPE_VACATION',\n  SICKDAY = 'ABSENCE_TYPE_SICKDAY',\n}\n","// tslint:disable\n/**\n * Webitel API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 24.04.0\n * Contact: support@webitel.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n *\n * @export\n * @enum {string}\n */\nexport enum WfmWorkingScheduleState {\n  UNSPECIFIED = 'WORKING_SCHEDULE_STATE_UNSPECIFIED',\n  ACTIVE = 'WORKING_SCHEDULE_STATE_ACTIVE',\n  PENDING = 'WORKING_SCHEDULE_STATE_PENDING',\n  DRAFT = 'WORKING_SCHEDULE_STATE_DRAFT',\n  ARCHIVED = 'WORKING_SCHEDULE_STATE_ARCHIVED',\n}\n","export interface Index {\n  debug(primaryMessage: string, ...supportingData: any[]): void\n  warn(primaryMessage: string, ...supportingData: any[]): void\n  error(primaryMessage: string, ...supportingData: any[]): void\n  info(primaryMessage: string, ...supportingData: any[]): void\n}\n\nconst logLvlVal = {\n  debug: 0,\n  info: 0,\n  warn: 0,\n  error: 1,\n}\n\nexport class Log implements Log {\n  private lvl: number\n  constructor(logLvl?: 'debug' | 'info' | 'warn' | 'error') {\n    this.lvl = 0\n    if (logLvl && logLvlVal[logLvl]) {\n      this.lvl = logLvlVal[logLvl]\n    }\n  }\n  debug(msg: string, ...supportingDetails: any[]): void {\n    this.emitLogMessage('debug', msg, supportingDetails)\n  }\n  info(msg: string, ...supportingDetails: any[]): void {\n    this.emitLogMessage('info', msg, supportingDetails)\n  }\n  warn(msg: string, ...supportingDetails: any[]): void {\n    this.emitLogMessage('warn', msg, supportingDetails)\n  }\n  error(msg: string, ...supportingDetails: any[]): void {\n    this.emitLogMessage('error', msg, supportingDetails)\n  }\n\n  private emitLogMessage(\n    msgType: 'debug' | 'info' | 'warn' | 'error',\n    msg: string,\n    supportingDetails: any[]\n  ) {\n    if (this.lvl <= logLvlVal[msgType]) {\n      return\n    }\n\n    if (supportingDetails.length > 0) {\n      // @ts-ignore\n      console[msgType](msg, ...supportingDetails)\n    } else {\n      console[msgType](msg)\n    }\n  }\n}\n","import { EventEmitter } from 'ee-ts'\n\nexport interface SipConfiguration {\n  server: string\n  extension: string\n  realm: string\n  uri: string\n  authorization_user: string\n  display_name: string\n  ha1?: string\n  register_expires?: number\n}\n\nexport interface Answer {\n  audio?: boolean\n  video?: boolean\n  screen?: boolean\n  disableStun?: boolean\n}\n\nexport interface OutboundConfiguration {\n  timeout?: number\n  video?: boolean\n  audio?: boolean\n  screen?: boolean\n  disableStun?: boolean\n  autoAnswer?: boolean\n  display?: string\n  variables?: Map<string, string>\n  contactId?: number\n}\n\nexport interface Outbound {\n  sdp?: string\n  destination?: string\n  stream?: MediaStream\n  params?: OutboundConfiguration\n}\n\nexport interface MediaConfig {\n  videoMuted: boolean\n  audioMuted: boolean\n  hold: boolean\n  syncRequested?: boolean\n}\n\nexport interface AudioProcessingConfig {\n  echoCancellation?: boolean\n  noiseSuppression?: boolean\n  autoGainControl?: boolean\n}\n\nexport function buildAudioConstraints(\n  processing: AudioProcessingConfig = {}\n): boolean | MediaTrackConstraints {\n  const { echoCancellation, noiseSuppression, autoGainControl } = processing\n\n  if (\n    echoCancellation === undefined &&\n    noiseSuppression === undefined &&\n    autoGainControl === undefined\n  ) {\n    return true\n  }\n\n  return {\n    echoCancellation: !!echoCancellation,\n    noiseSuppression: !!noiseSuppression,\n    autoGainControl: !!autoGainControl,\n  }\n}\n\nexport interface CallSession {\n  callId?: string\n  incoming: boolean\n  id: string\n  remoteVideoMuted?: boolean\n  remoteAudioMuted?: boolean\n  remoteHold?: boolean\n\n  getLocalMedia(): MediaStream[]\n  getPeerMedia(): MediaStream[]\n  answer(s: object): Promise<Error>\n  setMediaConfig?(mediaConfig: MediaConfig): void\n  // on(name: string, arg?: object): void\n}\n\nexport interface SipClientEvents {\n  registered(): void\n  unregistered(): void\n  connected(): void\n  error(err: Error): void\n  peerStreams(session: CallSession, e: MediaStream[] | null): void\n  localStreams(session: CallSession, e: MediaStream[] | null): void\n  newSession(session: CallSession): void\n  info(session: CallSession): void\n}\n\nexport abstract class SipClient extends EventEmitter<SipClientEvents> {\n  abstract readonly type: string\n\n  abstract callOption(req: Answer): Promise<object | Error>\n  abstract register(sipConf: SipConfiguration): Promise<Error | undefined>\n  abstract unregister(): Promise<undefined | Error>\n\n  abstract call(req: Outbound): Promise<undefined | Error>\n  abstract isRegistered(): boolean\n\n  abstract setAudioProcessing(processing: AudioProcessingConfig): void\n\n  // TODO del me\n  abstract sipSessionByCallId(id: string): CallSession | null\n  abstract sipSessionBySipId(id: string): CallSession | null\n}\n","// import { IncomingRTCSessionEvent, OutgoingRTCSessionEvent } from 'jssip/lib/UA'\nimport type { CallSession } from '../index'\nimport type { RTCSession, RTCSessionRequest } from './types'\n\nexport class Session implements CallSession {\n  callId?: string\n  incoming: boolean\n  instanceId: string\n  peerStream: MediaStream | null\n  localStream: MediaStream | null\n  remoteVideoMuted: boolean\n  remoteAudioMuted: boolean\n  remoteHold: boolean\n\n  private session: RTCSession\n\n  constructor(session: RTCSession, request: RTCSessionRequest) {\n    this.session = session\n    this.callId = request.getHeader('X-Webitel-Uuid')\n    this.incoming = session.direction === 'incoming'\n    this.instanceId = request.getHeader('X-Webitel-Sock-Id')\n    this.peerStream = null\n    this.localStream = null\n    this.remoteVideoMuted = false\n    this.remoteAudioMuted = false\n    this.remoteHold = false\n  }\n\n  get id(): string {\n    return this.session.id\n  }\n\n  getLocalMedia(): MediaStream[] {\n    if (this.localStream) {\n      return [this.localStream]\n    }\n\n    return []\n  }\n  getPeerMedia(): MediaStream[] {\n    if (this.peerStream) {\n      return [this.peerStream]\n    }\n\n    return []\n  }\n  answer(s: object): Promise<Error> {\n    return new Promise<Error>(() => {\n      this.session.answer(s)\n    })\n  }\n\n  setMediaConfig(s: object) {\n    // @ts-ignore\n    this.session.sendInfo('application/json', JSON.stringify(s))\n  }\n\n  // on(name: string, arg?: object): void\n}\n","import { EventEmitter } from 'ee-ts'\n// @ts-ignore - jssip ships as CommonJS; default-import keeps named ESM interop working\nimport JsSIP from 'jssip/lib/JsSIP'\nconst { debug, version, UA, WebSocketInterface } = JsSIP\n\nimport type {\n  Answer,\n  CallSession,\n  Outbound,\n  SipClient,\n  SipConfiguration,\n} from '../'\nimport { Log } from '../../log'\nimport {\n  type AudioProcessingConfig,\n  buildAudioConstraints,\n  type SipClientEvents,\n} from '../index'\nimport { Session } from './session'\nimport type { RTCSessionEvent } from './types'\n\ninterface PeerConnectionEvent {\n  peerconnection: RTCPeerConnection\n}\n\ninterface LegacyNavigator extends Navigator {\n  getUserMedia?: any\n}\n\nexport class SipPhone\n  extends EventEmitter<SipClientEvents>\n  implements SipClient\n{\n  static readonly userAgent = `Webitel-Phone/${version}`\n  static readonly sipVersion = version\n  readonly type = 'webrtc'\n\n  private ua!: any\n  private sessionCache = new Map<string, Session>()\n  private log: Log\n\n  constructor(\n    _instanceId: string,\n    d?: boolean,\n    private audioProcessing: AudioProcessingConfig = {}\n  ) {\n    super()\n\n    this.log = new Log()\n    if (d) {\n      this.log.info(`JsSip version: ${version}`)\n      debug.enable('*')\n    } else {\n      debug.disable()\n    }\n\n    this.on('unregistered', () => {\n      this.sessionCache.clear()\n    })\n  }\n\n  async callOption(req: Answer = {}) {\n    const mediaStream = await this.getUserCallStream(req)\n\n    return {\n      sessionTimersExpires: 120,\n      pcConfig: req.disableStun\n        ? undefined\n        : {\n            iceServers: [{ urls: ['stun:stun.l.google.com:19302'] }],\n          },\n      mediaStream,\n    }\n  }\n\n  async answer(id: string, req: Answer) {\n    if (this.sessionCache.has(id)) {\n      const session = this.sessionCache.get(id)\n      const params = await this.callOption(req)\n\n      return session!.answer(params)\n    }\n\n    return false\n  }\n\n  async call(req: Outbound) {\n    const params = {} as Answer\n    const display = {\n      extraHeaders: [] as string[],\n    }\n\n    if (req.params) {\n      params.audio = req.params.audio\n      params.video = req.params.video || false\n      params.screen = req.params.screen || false\n      params.disableStun = req.params.disableStun || false\n    }\n\n    if (typeof req.destination !== 'string') {\n      throw new Error('bad destination type')\n    }\n\n    const invite = await this.callOption(params)\n\n    if (req.params) {\n      if (req.params.display) {\n        display.extraHeaders.push(`X-Webitel-Display: ${req.params.display}`)\n      }\n      if (req.params.contactId) {\n        display.extraHeaders.push(\n          `X-Webitel-Contact-Id: ${req.params.contactId}`\n        )\n      }\n    }\n\n    const forceHighQuality = async (sender: any) => {\n      try {\n        const parameters = sender.getParameters()\n\n        if (!parameters.encodings || parameters.encodings.length === 0) {\n          parameters.encodings = [{}]\n        }\n\n        // parameters.encodings[0].scaleResolutionDownBy = 1.0;\n\n        parameters.encodings[0].priority = 'high'\n        parameters.encodings[0].networkPriority = 'high'\n        parameters.encodings[0].maxBitrate = 4000 * 100 * 1000 // 4000kbps\n        // parameters.encodings[0].scalabilityMode = 'L1T3';\n        parameters.degradationPreference = 'maintain-resolution'\n\n        await sender.setParameters(parameters)\n      } catch (e) {\n        this.log.error(`SipPhone Error: ${e}`)\n      }\n    }\n\n    await this.ua.call(req.destination, {\n      ...invite,\n      ...display,\n      eventHandlers: {\n        peerconnection: async (data: any) => {\n          const pc = data.peerconnection\n          pc.addEventListener('track', async (event: any) => {\n            if (event.track.kind === 'video') {\n              const sender = pc\n                .getSenders()\n                // @ts-ignore\n                .find((s: object) => s.track && s.track.kind === 'video')\n              if (sender) {\n                await forceHighQuality(sender)\n              }\n            }\n          })\n        },\n      },\n    })\n  }\n\n  setAudioProcessing(processing: AudioProcessingConfig) {\n    this.audioProcessing = processing\n  }\n\n  async register(sipConf: SipConfiguration) {\n    const socket = new WebSocketInterface(sipConf.server)\n\n    const configuration = {\n      realm: sipConf.realm,\n      uri: sipConf.uri,\n      authorization_user: sipConf.authorization_user,\n      ha1: sipConf.ha1,\n      user_agent: SipPhone.userAgent,\n      sockets: [socket],\n      session_timers: true,\n      // use_preloaded_route: true,\n      display_name: sipConf.display_name,\n      register_expires: sipConf.register_expires || 90,\n      connection_recovery_min_interval: 2,\n      connection_recovery_max_interval: 30,\n      // instance_id: '8f1fa16a-1165-4a96-8341-785b1ef24f13',\n    }\n\n    const ua = (this.ua = new UA(configuration))\n\n    // ua.on('connected', (e: object) => {})\n\n    ua.on('newRTCSession', (e: RTCSessionEvent) => {\n      const session = e.session\n      const id = session.id\n\n      const callSession = new Session(session, e.request)\n\n      this.storeSession(id, callSession)\n\n      session.on('ended', () => {\n        // this handler will be called for incoming calls too\n        this.removeSession(callSession)\n      })\n\n      session.on('failed', () => {\n        // this handler will be called for incoming calls too\n        this.removeSession(callSession)\n      })\n\n      session.on('accepted', (_a: any) => {\n        // the call has answered\n        this.setupMedia(callSession, session.connection)\n      })\n\n      session.on('progress', () => {\n        // the call has pre answer\n        this.setupMedia(callSession, session.connection)\n      })\n\n      session.on('confirmed', () => {\n        this.setupMedia(callSession, session.connection)\n      })\n\n      session.on('newInfo', (ev: any) => {\n        if (ev.originator !== 'remote') {\n          return\n        }\n\n        let body = null\n        try {\n          body = JSON.parse(ev.request.body)\n        } catch (_e) {\n          return\n        }\n\n        if (body) {\n          callSession.remoteVideoMuted = !!body.videoMuted\n          callSession.remoteAudioMuted = !!body.audioMuted\n          callSession.remoteHold = !!body.hold\n          this.emit('info', callSession)\n        }\n      })\n\n      this.emit('newSession', callSession)\n    })\n\n    ua.on('disconnected', (_e: object) => {\n      this.emit('unregistered')\n    })\n\n    // ua.on('registered', (e: object) => {})\n\n    ua.on('unregistered', (_e: object) => {\n      this.emit('unregistered')\n    })\n\n    ua.on('registrationFailed', (e: object) => {\n      this.log.error('registrationFailed', e)\n    })\n\n    ua.on('registered', (_e: object) => {\n      this.emit('registered')\n    })\n\n    // fixes WTEL-4236\n    ua.on('connected', (_e: object) => {\n      this.emit('connected')\n    })\n\n    ua.start()\n  }\n\n  async unregister() {\n    if (this.ua) {\n      this.ua.terminateSessions()\n      this.ua.removeAllListeners()\n      await this.ua.stop()\n      delete this.ua\n    }\n  }\n\n  isRegistered() {\n    if (this.ua) {\n      return this.ua.isRegistered()\n    }\n\n    return false\n  }\n\n  sipSessionByCallId(id: string): CallSession | null {\n    for (const sess of this.allSession) {\n      if (sess.callId === id) {\n        return sess\n      }\n    }\n\n    return null\n  }\n\n  sipSessionBySipId(id: string): CallSession | null {\n    for (const sess of this.allSession) {\n      if (sess.id.startsWith(id)) {\n        return sess\n      }\n    }\n\n    return null\n  }\n\n  private removeSession(s: Session): boolean {\n    if (this.sessionCache.has(s.id)) {\n      this.sessionCache.delete(s.id)\n      s.getLocalMedia().forEach((m) => {\n        m.getTracks().forEach((track) => track.stop())\n      })\n      s.getPeerMedia().forEach((m) => {\n        m.getTracks().forEach((track) => track.stop())\n      })\n\n      return true\n    }\n\n    return false\n  }\n\n  private storeSession(id: string, session: Session) {\n    if (this.sessionCache.has(id)) {\n      throw new Error('Session already store')\n    }\n\n    this.sessionCache.set(id, session)\n  }\n\n  private get allSession(): Session[] {\n    return Array.from(this.sessionCache.values())\n  }\n\n  private setupMedia(sess: Session, connection: any) {\n    if (!connection) {\n      return\n    }\n\n    if (!sess.peerStream && connection.getRemoteStreams) {\n      const peerMedia = connection.getRemoteStreams()\n      sess.peerStream = peerMedia[0]\n      if (peerMedia.length > 1) {\n        this.log.warn('more than 1 peer stream')\n      }\n\n      this.emit('peerStreams', sess, sess.getPeerMedia())\n    }\n\n    if (!sess.localStream && connection.getLocalStreams) {\n      const localMedia = connection.getLocalStreams()\n      sess.localStream = localMedia[0]\n      if (localMedia.length > 1) {\n        this.log.warn('more than 1 local stream')\n      }\n      this.emit('localStreams', sess, sess.getLocalMedia())\n    }\n  }\n\n  private async getUserScreen(): Promise<MediaStream> {\n    return new Promise<MediaStream>(\n      async (\n        resolve: (stream: MediaStream) => void,\n        reject: (err: Error) => void\n      ) => {\n        try {\n          const stream = (await (\n            navigator.mediaDevices as any\n          ).getDisplayMedia()) as MediaStream\n          resolve(stream)\n        } catch (e) {\n          reject(e as Error)\n        }\n      }\n    )\n  }\n\n  private async getUserCallStream(req: Answer) {\n    let stream: MediaStream | undefined\n\n    if (req.screen === true) {\n      stream = await this.getUserScreen()\n    }\n\n    if (req.audio !== false || req.video) {\n      const camera = await this.getUserMedia(req)\n\n      if (stream) {\n        camera.getTracks().forEach((track) => {\n          stream!.addTrack(track)\n        })\n      } else {\n        stream = camera\n      }\n    }\n\n    if (!stream) {\n      throw new Error('bad stream request')\n    }\n\n    return stream\n  }\n\n  private async getUserMedia(req: Answer): Promise<MediaStream> {\n    return new Promise<MediaStream>(\n      async (resolve: (stream: MediaStream) => void, reject: () => void) => {\n        const mediaConstraints = {\n          audio: undefined as any,\n          video: undefined as any,\n        }\n        if (!(req.audio === false)) {\n          mediaConstraints.audio = buildAudioConstraints(this.audioProcessing)\n        }\n        if (req.video) {\n          mediaConstraints.video = {\n            width: { ideal: 1280 },\n            height: { ideal: 720 },\n          }\n        }\n\n        return getMediaStream(mediaConstraints).then(resolve).catch(reject)\n      }\n    )\n  }\n}\n\nasync function getMediaStream(\n  constraints: MediaStreamConstraints\n): Promise<MediaStream> {\n  return new Promise((resolve, reject) => {\n    if (navigator.mediaDevices?.getUserMedia) {\n      navigator.mediaDevices\n        .getUserMedia(constraints)\n        .then((stream) => resolve(stream))\n        .catch((err) => reject(err))\n    } else {\n      return reject(new Error('getUserMedia is not supported in this browser'))\n    }\n  })\n}\n","import { EventEmitter } from 'events'\n\nimport { type AudioProcessingConfig, buildAudioConstraints } from '../index'\n\nconst RTCState = {\n  Init: 0,\n  Processing: 1,\n  Ready: 2,\n  Error: 3,\n}\n\nconst timeout = 2000\n\nexport class RTC extends EventEmitter {\n  localStream: MediaStream | null = null\n  peerStream: MediaStream | null = null\n  timer: any = null\n  state = RTCState.Init\n  pc: RTCPeerConnection\n\n  constructor(private audioProcessing: AudioProcessingConfig = {}) {\n    super()\n    const configuration = {}\n    // const pcConstraints = {\"optional\": [{\"DtlsSrtpKeyAgreement\": true}]};\n    this.pc = new RTCPeerConnection(configuration)\n    this.pc.addEventListener('track', this.gotRemoteStream.bind(this))\n    this.pc.addEventListener(\n      'icegatheringstatechange',\n      this.iceGatherIngStateChange.bind(this)\n    )\n  }\n\n  createOffer() {\n    return new Promise(async (resolve, reject) => {\n      this.once('ready', () => {\n        resolve(this)\n      })\n      this.once('failed', reject)\n      try {\n        await this._createOffer()\n      } catch (e) {\n        reject(e)\n      }\n    })\n  }\n\n  async handleAnswerFromOffer(answer: RTCSessionDescriptionInit) {\n    await this.pc.setRemoteDescription(new RTCSessionDescription(answer))\n  }\n\n  createAnswer(offer: RTCSessionDescriptionInit) {\n    return new Promise(async (resolve, reject) => {\n      this.once('ready', () => {\n        resolve(this)\n      })\n      this.once('failed', reject)\n      try {\n        await this._createAnswer(offer)\n      } catch (e) {\n        reject(e)\n      }\n    })\n  }\n\n  async _createAnswer(offer: RTCSessionDescriptionInit) {\n    await this.pc.setRemoteDescription(new RTCSessionDescription(offer))\n    const answer = await this.pc.createAnswer()\n    await this.pc.setLocalDescription(answer)\n\n    this.timer = setTimeout(() => {\n      this.clean()\n      this.emit('failed')\n    }, timeout)\n  }\n\n  async _createOffer() {\n    const offer = await this.pc.createOffer()\n    await this.pc.setLocalDescription(offer)\n    this.timer = setTimeout(() => {\n      this.clean()\n      this.emit('failed')\n    }, timeout)\n  }\n\n  clean() {\n    clearTimeout(this.timer)\n    this.timer = null\n    this.pc.removeEventListener('track', this.gotRemoteStream.bind(this))\n    this.pc.removeEventListener(\n      'icegatheringstatechange',\n      this.iceGatherIngStateChange.bind(this)\n    )\n    this.pc.close()\n    if (this.localStream) {\n      this.localStream.getTracks().forEach((track) => track.stop())\n    }\n    if (this.peerStream?.getTracks) {\n      this.peerStream.getTracks().forEach((track) => track.stop())\n    }\n  }\n\n  async initLocalMediaStream() {\n    if (!this.localStream) {\n      this.localStream = await navigator.mediaDevices.getUserMedia({\n        audio: buildAudioConstraints(this.audioProcessing),\n        video: false,\n      })\n      this.localStream.getTracks().forEach((track) => this.pc.addTrack(track))\n      this.emit('localStreams', this.localStream)\n    }\n\n    return this.localStream\n  }\n\n  get remoteSdp() {\n    return this.pc.remoteDescription!.sdp\n  }\n\n  get localSdp() {\n    return this.pc.localDescription!.sdp\n  }\n\n  gotRemoteStream(e: RTCTrackEvent) {\n    this.peerStream = e.streams[0]\n    this.emit('peerStreams', this.peerStream)\n  }\n\n  iceGatherIngStateChange(_e: Event) {\n    if (\n      this.state !== RTCState.Ready &&\n      this.pc.iceGatheringState === 'complete'\n    ) {\n      clearTimeout(this.timer)\n      this.state = RTCState.Ready\n      this.emit('ready')\n    }\n  }\n}\n","import { RTC } from './rtc'\nimport type { Keyable, RPC } from './rpc'\nimport type { CallSession } from '../index'\nimport type { SipPhone } from './client'\n\nexport class Session implements CallSession {\n  rtc: RTC\n  rpc: RPC\n  callId?: string\n  incoming: boolean\n\n  id: string\n  answered: boolean\n  constructor(\n    private cli: SipPhone,\n    rpc: RPC\n  ) {\n    this.rtc = new RTC(cli.audioProcessing)\n    this.id = ''\n    this.answered = false\n    this.incoming = false\n    this.rpc = rpc\n  }\n\n  async call(destination = '') {\n    await this.rtc.initLocalMediaStream()\n    await this.rtc.createOffer()\n    const result = await this.rpc.request(`call_sdp`, {\n      destination,\n      sdp: this.rtc.localSdp,\n    })\n\n    this.id = result.sip_id as string\n  }\n\n  async answer(s: object) {\n    return new Promise<Error>(async () => {\n      const { callId } = s as Keyable\n      if (!this.callId) {\n        this.callId = callId\n      }\n      const result = await this.rpc.request(`call_sdp_remote`, {\n        id: this.callId,\n      })\n\n      await this.rtc.initLocalMediaStream()\n      await this.rtc.createAnswer(result.sdp)\n\n      await this.rpc.request(`call_sdp_answer`, {\n        id: this.callId,\n        sdp: this.rtc.localSdp,\n      })\n\n      this.cli.emitSessionMedia(this)\n    })\n  }\n\n  async recovery(callId: string) {\n    await this.rtc.initLocalMediaStream()\n    await this.rtc.createOffer()\n\n    const result = await this.rpc.request(`call_sdp_recovery`, {\n      id: callId,\n      sdp: this.rtc.localSdp,\n    })\n\n    this.id = result.sip_id\n\n    return this.id\n  }\n\n  get localStream() {\n    return this.rtc.localStream\n  }\n\n  get peerStream() {\n    return this.rtc.peerStream\n  }\n  getLocalMedia(): MediaStream[] {\n    if (this.localStream) {\n      return [this.localStream]\n    }\n\n    return []\n  }\n  getPeerMedia(): MediaStream[] {\n    if (this.peerStream) {\n      return [this.peerStream]\n    }\n\n    return []\n  }\n\n  async destroy() {\n    this.rtc.clean()\n  }\n\n  async handleAnswerFromOffer(answer: RTCSessionDescriptionInit) {\n    if (this.answered) {\n      throw new Error('Answered')\n    }\n    this.answered = true\n    await this.rtc.handleAnswerFromOffer(answer)\n  }\n}\n","import { EventEmitter } from 'ee-ts'\nimport { Session } from './session'\nimport type { RPC } from './rpc'\nimport type {\n  Answer,\n  AudioProcessingConfig,\n  Outbound,\n  SipClient,\n  SipClientEvents,\n} from '../index'\n\nconst version = '0.0.1'\n\nexport class SipPhone\n  extends EventEmitter<SipClientEvents>\n  implements SipClient\n{\n  static readonly userAgent = `Webitel-Phone/${version}`\n  static readonly sipVersion = version\n  readonly type = 'webrtc'\n  sessions: Session[]\n  registered: boolean\n  ua: object\n\n  constructor(\n    private rpc: RPC,\n    public audioProcessing: AudioProcessingConfig = {}\n  ) {\n    super()\n    this.sessions = []\n    this.registered = false\n    this.ua = {}\n\n    this.rpc.on('sdp', async (sock, e) => {\n      const sess = this.sipSessionBySipId(e.sip_id as string)\n      if (!sess) {\n        return\n      }\n      if (sock === this.rpc.instanceId) {\n        if (!sess.answered) {\n          await sess.handleAnswerFromOffer(e.sdp)\n          this.emitSessionMedia(sess)\n        }\n      } else {\n        this.emit('localStreams', sess, [])\n        this.emit('peerStreams', sess, [])\n        await this.removeSession(sess.id)\n      }\n    })\n\n    this.rpc.on('call_receive', (call: any) => {\n      if ((call.direction as string) === 'inbound' || call.originate) {\n        const sess = new Session(this, this.rpc)\n        sess.callId = call.id as string\n        this.sessions.push(sess)\n        call.setSip(sess)\n      }\n    })\n\n    this.rpc.on('call_hangup', async (call: any) => {\n      await this.removeSession((call.sipId as string) || (call.id as string))\n    })\n  }\n\n  setAudioProcessing(processing: AudioProcessingConfig) {\n    this.audioProcessing = processing\n  }\n\n  emitSessionMedia(sess: Session) {\n    this.emit('localStreams', sess, sess.getLocalMedia())\n    this.emit('peerStreams', sess, sess.getPeerMedia())\n  }\n\n  async callOption(req: Answer = {}) {\n    return req\n  }\n\n  async answer(_id: string, _req: Answer) {\n    return false\n  }\n\n  async call(req: Outbound) {\n    const sess = new Session(this, this.rpc)\n    await sess.call(req.destination)\n    this.sessions.push(sess)\n    this.emit('newSession', sess)\n  }\n\n  async register() {\n    try {\n      await this.rpc.request(`sip_register`, {})\n      // tslint:disable-next-line: no-empty\n    } catch (_e) {}\n\n    this.setRegister(true)\n    this.emit('connected')\n  }\n\n  async unregister() {\n    this.setRegister(false)\n  }\n\n  isRegistered() {\n    return this.registered\n  }\n\n  sipSessionByCallId(id: string): Session | null {\n    for (const v of this.sessions) {\n      if (v.callId === id) {\n        return v\n      }\n    }\n\n    return null\n  }\n\n  sipSessionBySipId(id: string): Session | null {\n    for (const v of this.sessions) {\n      if (v.id === id) {\n        return v\n      }\n    }\n\n    return null\n  }\n\n  private async removeSession(id: string) {\n    for (let i = 0; i < this.sessions.length; i++) {\n      if (this.sessions[i].id === id || this.sessions[i].callId === id) {\n        await this.sessions[i].destroy()\n        this.sessions.splice(i, 1)\n        // break\n      }\n    }\n  }\n\n  private setRegister(val: boolean) {\n    this.registered = val\n    if (this.registered) {\n      this.emit('registered')\n    } else {\n      this.emit('unregistered')\n    }\n  }\n}\n","// This file is automatically generated by scripts/sync-version.js\nexport const version = '26.4.16'\n","/**\n * Перелік можливих типів помилок.\n */\nexport enum TypeErrors {\n  RolePermission = 'api.context.permissions.app_error',\n  LicencePermission = 'api.context.permissions.license',\n  PauseNotAllow = 'app.agent.set_pause.not_allow',\n}\n\n/**\n * Базовий інтерфейс для всіх помилок.\n */\nexport interface BaseError {\n  /**\n   * Код помилки.\n   * @type {number}\n   */\n  code: number\n\n  /**\n   * Деталі помилки.\n   * @type {string}\n   */\n  detail: string\n\n  /**\n   * Ідентифікатор помилки.\n   * @type {string}\n   */\n  id: string\n\n  /**\n   * Статус помилки.\n   * @type {string}\n   */\n  status: string\n}\n\n/**\n * Помилка, яка виникає, коли пристрій не знайдено.\n * @extends Error\n */\n// tslint:max-classes-per-file\nexport class DeviceNotFoundError extends Error {\n  /**\n   * Статичний ідентифікатор для типу помилки.\n   * @type {string}\n   */\n  static id = `device_not_found`\n\n  /**\n   * Ідентифікатор конкретного екземпляра помилки.\n   * @type {string}\n   */\n  id: string\n\n  /**\n   * Конструктор для створення нового екземпляра DeviceNotFoundError.\n   *\n   * @param {string} msg - Повідомлення про помилку.\n   */\n  constructor(msg: string) {\n    super(msg)\n    this.id = DeviceNotFoundError.id\n  }\n}\n\n/**\n * Користувацький клас помилки, що представляє помилку дозволу \"Пристрій не дозволено\".\n * Ця помилка викликається, коли пристрій не має необхідних дозволів.\n *\n * @extends Error\n */\n// tslint:disable-next-line: max-classes-per-file\nexport class DeviceNotAllowPermissionError extends Error {\n  /**\n   * Статичний ідентифікатор для типу помилки.\n   * @type {string}\n   */\n  static id = `device_not_allow`\n\n  /**\n   * Ідентифікатор для конкретного екземпляра помилки.\n   * @type {string}\n   */\n  id: string\n\n  /**\n   * Конструктор для створення нового екземпляра DeviceNotAllowPermissionError.\n   *\n   * @param {string} msg - Повідомлення про помилку.\n   */\n  constructor(msg: string) {\n    super(msg)\n    this.id = DeviceNotAllowPermissionError.id\n  }\n}\n\n/**\n * Користувацький клас помилки, що представляє помилку дозволу \"Роль не дозволена\".\n * Ця помилка викликається, коли роль не має необхідних дозволів.\n *\n * @extends Error\n */\n// tslint:disable-next-line: max-classes-per-file\nexport class RolePermissionError extends Error {\n  /**\n   * Статичний ідентифікатор для типу помилки.\n   * @type {string}\n   */\n  static id = TypeErrors.RolePermission\n\n  /**\n   * Ідентифікатор для конкретного екземпляра помилки.\n   * @type {string}\n   */\n  id: string\n\n  /**\n   * Конструктор для створення нового екземпляра RolePermissionError.\n   *\n   * @param {string} msg - Повідомлення про помилку.\n   */\n  constructor(msg: string) {\n    super(msg)\n    this.id = RolePermissionError.id\n  }\n}\n\n/**\n * Користувацький клас помилки, що представляє помилку дозволу \"Ліцензія не дозволена\".\n * Ця помилка викликається, коли ліцензія не має необхідних дозволів.\n *\n * @extends Error\n */\n// tslint:disable-next-line: max-classes-per-file\nexport class LicencePermissionError extends Error {\n  /**\n   * Статичний ідентифікатор для типу помилки.\n   * @type {string}\n   */\n  static id = TypeErrors.LicencePermission\n\n  /**\n   * Ідентифікатор для конкретного екземпляра помилки.\n   * @type {string}\n   */\n  id: string\n\n  /**\n   * Конструктор для створення нового екземпляра LicencePermissionError.\n   *\n   * @param {string} msg - Повідомлення про помилку.\n   */\n  constructor(msg: string) {\n    super(msg)\n    this.id = LicencePermissionError.id\n  }\n}\n\n/**\n * Користувацький клас помилки, що представляє помилку \"Пауза не дозволена\".\n * Ця помилка викликається, коли встановлення паузи не дозволено.\n *\n * @extends Error\n */\n// tslint:disable-next-line: max-classes-per-file\nexport class PauseNotAllowedError extends Error {\n  /**\n   * Статичний ідентифікатор для типу помилки.\n   * @type {string}\n   */\n  static id = TypeErrors.PauseNotAllow\n\n  /**\n   * Ідентифікатор для конкретного екземпляра помилки.\n   * @type {string}\n   */\n  id: string\n\n  /**\n   * Конструктор для створення нового екземпляра PauseNotAllowedError.\n   *\n   * @param {string} msg - Повідомлення про помилку.\n   */\n  constructor(msg: string) {\n    super(msg)\n    this.id = PauseNotAllowedError.id\n  }\n}\n","// NOTE: optional peer; not installed in this package. Imported for type augmentation only.\nimport type { ThreadModel } from '@webitel/chat-web-sdk'\nimport { ChannelType } from './agent'\nimport type { CallVariables } from './call'\nimport type { Client } from './client'\nimport type { Form } from './form'\n\n/**\n * Превʼю чату, прикріпленого до комунікації завдання.\n */\nexport interface ThreadPreview\n  extends Pick<ThreadModel, 'lastMsg' | 'members' | 'subject'> {}\n\nexport interface Reporting {\n  /**\n   * Успішність операції.\n   * @type {boolean}\n   */\n  success?: boolean\n\n  /**\n   * Ідентифікатор агента.\n   * @type {number}\n   */\n  agent_id?: number\n\n  /**\n   * Час наступного розподілу.\n   * @type {number}\n   */\n  next_distribute_at?: number\n\n  /**\n   * Інформація про комунікацію.\n   * @type {MemberCommunication}\n   */\n  communication?: MemberCommunication\n\n  /**\n   * Нові комунікації.\n   * @type {MemberCommunication[]}\n   */\n  new_communication?: MemberCommunication[]\n\n  /**\n   * Опис.\n   * @type {string}\n   */\n  description?: string\n\n  // integration fields\n\n  /**\n   * Відображати чи ні.\n   * @type {boolean}\n   */\n  display?: boolean\n\n  /**\n   * Термін дії.\n   * @type {number}\n   */\n  expire?: number\n\n  /**\n   * Змінні виклику.\n   * @type {CallVariables}\n   */\n  variables?: CallVariables\n\n  /**\n   * Назва.\n   * @type {string}\n   */\n  name?: string\n\n  /**\n   * Часовий пояс.\n   * @type {object}\n   */\n  timezone?: object\n}\n\n/**\n * Перелік станів завдання.\n * @enum {string}\n */\nexport enum JobState {\n  /**\n   * Стан завдання - розподіл.\n   */\n  Distribute = 'distribute',\n\n  /**\n   * Стан завдання - пропозиція.\n   */\n  Offering = 'offering',\n\n  /**\n   * Стан завдання - з'єднано.\n   */\n  Bridged = 'bridged',\n\n  /**\n   * Стан завдання - пропущено.\n   */\n  Missed = 'missed',\n\n  /**\n   * Стан завдання - обробка.\n   */\n  Processing = 'processing',\n\n  /**\n   * Стан завдання - закрито.\n   */\n  Closed = 'closed',\n\n  /**\n   * Стан завдання - знищено.\n   */\n  Destroy = 'destroy',\n}\n\n/**\n * Перелік назв каналів.\n * @enum {string}\n */\nexport enum ChannelName {\n  /**\n   * Назва каналу - дзвінок.\n   */\n  Call = 'call',\n\n  /**\n   * Назва каналу - вихідний дзвінок.\n   */\n  OutCall = 'out_call',\n\n  /**\n   * Назва каналу - чат.\n   */\n  Chat = 'chat',\n\n  /**\n   * Назва каналу - завдання.\n   */\n  Task = 'task',\n}\n\nexport interface Node {\n  /**\n   * Ідентифікатор вузла.\n   * @type {number}\n   */\n  id: number\n\n  /**\n   * Назва вузла.\n   * @type {string}\n   */\n  name: string\n\n  /**\n   * Значення вузла.\n   * @type {object}\n   */\n  value: object\n\n  /**\n   * Діти вузла.\n   * @type {Node[]}\n   */\n  children?: Node[]\n}\n\nexport interface CommunicationType {\n  /**\n   * Ідентифікатор типу комунікації.\n   * @type {number}\n   */\n  id: number\n\n  /**\n   * Назва типу комунікації.\n   * @type {string}\n   */\n  name: string\n\n  channel?: string\n}\n\nexport interface MemberCommunication {\n  /**\n   * Місце призначення комунікації.\n   * @type {string}\n   */\n  destination: string\n\n  /**\n   * Тип комунікації.\n   * @type {CommunicationType}\n   */\n  type: CommunicationType\n\n  /**\n   * Відображення комунікації.\n   * @type {string}\n   */\n  display?: string\n\n  /**\n   * Стан комунікації.\n   * @type {number}\n   * @todo\n   */\n  state?: number\n\n  /**\n   * Превʼю чату, прикріпленого до комунікації.\n   * @type {ThreadPreview}\n   */\n  thread?: ThreadPreview\n}\n\nexport interface ChannelEvent {\n  /**\n   * Статус події каналу.\n   * @type {string}\n   */\n  status: string\n\n  /**\n   * Ідентифікатор спроби.\n   * @type {number}\n   */\n  attempt_id?: number\n\n  /**\n   * Часова мітка події.\n   * @type {number}\n   */\n  timestamp: number\n\n  /**\n   * Канал події.\n   * @type {string}\n   */\n  channel: string\n}\n\nexport interface Distribute extends ChannelEvent {\n  /**\n   * Ідентифікатор додатку.\n   * @type {string}\n   */\n  app_id: string\n\n  /**\n   * Ідентифікатор черги.\n   * @type {number}\n   */\n  queue_id: number\n\n  /**\n   * Назва черги.\n   * @type {string}\n   */\n  queue_name: string\n\n  /**\n   * Ідентифікатор учасника.\n   * @type {number}\n   */\n  member_id: number\n\n  /**\n   * Назва учасника.\n   * @type {string}\n   */\n  member_name?: string\n\n  /**\n   * Ідентифікатор агента.\n   * @type {number}\n   */\n  agent_id?: number\n\n  /**\n   * Ідентифікатор каналу учасника.\n   * @type {string}\n   */\n  member_channel_id?: string\n\n  /**\n   * Ідентифікатор каналу агента.\n   * @type {string}\n   */\n  agent_channel_id?: string\n\n  /**\n   * Інформація про комунікацію.\n   * @type {MemberCommunication}\n   */\n  communication: MemberCommunication\n\n  /**\n   * Чи є звітність.\n   * @type {boolean}\n   */\n  has_reporting: boolean\n\n  /**\n   * Чи є форма.\n   * @type {boolean}\n   */\n  has_form?: boolean\n\n  /**\n   * Змінні.\n   * @type {{ [key: string]: any }}\n   */\n  variables?: { [key: string]: any }\n}\n\nexport interface TaskData extends Distribute {\n  /**\n   * Ідентифікатор додатку.\n   * @type {string}\n   */\n  app_id: string\n\n  /**\n   * Час, коли завдання було з'єднано.\n   * @type {number}\n   */\n  bridged_at?: number\n\n  /**\n   * Час, коли завдання залишило.\n   * @type {number}\n   */\n  leaving_at?: number\n\n  /**\n   * Час обробки в секундах.\n   * @type {number}\n   */\n  processing_sec?: number\n\n  /**\n   * Час оновлення обробки в секундах.\n   * @type {number}\n   */\n  processing_renewal_sec?: number\n\n  /**\n   * Час тайм-ауту обробки.\n   * @type {number}\n   */\n  processing_timeout_at?: number\n\n  /**\n   * Тривалість завдання в секундах.\n   * @type {number}\n   */\n  duration: number\n\n  /**\n   * Стан завдання.\n   * @type {string}\n   */\n  state: string\n\n  /**\n   * Форма.\n   * @type {Form | null}\n   */\n  form?: Form | null\n\n  /**\n   * Чи є форма.\n   * @type {boolean}\n   */\n  has_form?: boolean\n}\n\nexport interface Offering {\n  /**\n   * Ідентифікатор каналу учасника.\n   * @type {string}\n   */\n  member_channel_id?: string\n\n  /**\n   * Ідентифікатор каналу агента.\n   * @type {string}\n   */\n  agent_channel_id?: string\n\n  /**\n   * Автоматичний прийом.\n   * @type {boolean}\n   */\n  auto_answer: boolean\n}\n\nexport interface Missed {\n  /**\n   * Тайм-аут.\n   * @type {number}\n   */\n  timeout: number\n\n  /**\n   * Кількість пропущених відповідей.\n   * @type {number}\n   */\n  no_answers: number\n}\n\nexport interface WrapTime {\n  /**\n   * Тайм-аут.\n   * @type {number}\n   */\n  timeout: number\n}\n\nexport interface Processing {\n  /**\n   * Тайм-аут обробки.\n   * @type {number | null}\n   */\n  timeout: number | null\n\n  /**\n   * Час обробки в секундах.\n   * @type {number}\n   */\n  sec: number\n\n  /**\n   * Час оновлення обробки в секундах.\n   * @type {number}\n   */\n  renewal_sec?: number\n}\n\nexport interface DistributeEvent extends ChannelEvent {\n  /**\n   * Інформація про розподіл.\n   * @type {Distribute}\n   */\n  distribute: Distribute\n}\n\nexport interface BridgedEvent extends ChannelEvent {\n  /**\n   * Форма.\n   * @type {Form | null}\n   */\n  form?: Form | null\n}\n\nexport interface OfferingEvent extends ChannelEvent {\n  /**\n   * Інформація про пропозицію.\n   * @type {Offering}\n   */\n  offering: Offering\n}\n\nexport interface FormEvent extends ChannelEvent {\n  /**\n   * Форма.\n   * @type {Form | null}\n   */\n  form?: Form | null\n}\n\nexport interface TransferEvent extends ChannelEvent {\n  /**\n   * Ідентифікатор спроби передачі.\n   * @type {number}\n   */\n  to_attempt_id: number\n\n  /**\n   * Інформація про розподіл.\n   * @type {Distribute}\n   */\n  distribute: Distribute\n\n  form?: Form\n}\n\nexport interface MissedEvent extends ChannelEvent {\n  /**\n   * Інформація про пропущені події.\n   * @type {Missed}\n   */\n  missed: Missed\n}\n\nexport interface WrapTimeEvent extends ChannelEvent {\n  /**\n   * Інформація про час завершення.\n   * @type {WrapTime}\n   */\n  wrap_time: WrapTime\n}\n\nexport interface ProcessingEvent extends ChannelEvent {\n  /**\n   * Інформація про обробку.\n   * @type {Processing}\n   */\n  processing: Processing\n}\n\nexport interface Queue {\n  /**\n   * Ідентифікатор черги.\n   * @type {number}\n   */\n  id: number\n\n  /**\n   * Назва черги.\n   * @type {string}\n   */\n  name: string\n}\n\nexport class Task {\n  /**\n   * Історія розподілів.\n   * @type {Distribute[]}\n   */\n  history!: Distribute[]\n\n  /**\n   * Інформація про комунікацію.\n   * @type {MemberCommunication}\n   */\n  communication: MemberCommunication\n\n  /**\n   * Ідентифікатор завдання.\n   * @type {number}\n   */\n  id: number\n\n  /**\n   * Стан завдання.\n   * @type {JobState}\n   */\n  state: JobState\n\n  /**\n   * Дані для постобробки.\n   * @type {object}\n   */\n  postProcessData!: object\n\n  /**\n   * Час останньої зміни статусу.\n   * @type {number}\n   */\n  lastStatusChange: number\n\n  /**\n   * Час створення завдання.\n   * @type {number}\n   */\n  createdAt: number\n\n  /**\n   * Час пропозиції.\n   * @type {number}\n   */\n  offeringAt: number\n\n  /**\n   * Час відповіді.\n   * @type {number}\n   */\n  answeredAt: number\n\n  /**\n   * Час з'єднання.\n   * @type {number}\n   */\n  bridgedAt: number\n\n  /**\n   * Час початку обробки.\n   * @type {number}\n   */\n  startProcessingAt: number\n\n  /**\n   * Час завершення.\n   * @type {number}\n   */\n  stopAt: number\n\n  /**\n   * Час закриття.\n   * @type {number}\n   */\n  closedAt: number\n\n  /**\n   * Час звітування.\n   * @type {number}\n   */\n  reportedAt: number\n\n  /**\n   * Форма.\n   * @type {Form | null}\n   */\n  form: Form | null\n\n  /**\n   * Інформація про обробку.\n   * @type {Processing | null}\n   */\n  _processing: Processing | null\n\n  /**\n   * Автоматичний прийом.\n   * @type {boolean}\n   */\n  autoAnswered: boolean\n\n  /**\n   * Параметр автоматичного прийому.\n   * @type {boolean | string | number}\n   */\n  _autoAnswerParam: boolean | string | number\n\n  /**\n   * Тайм-аут автоматичного прийому.\n   * @type {any | null}\n   */\n  _autoAnswerTimerId: any | null\n\n  /**\n   * Конструктор класу.\n   * @param {Client} client - Клієнт.\n   * @param {ChannelEvent} e - Подія каналу.\n   * @param {Distribute} distribute - Інформація про розподіл.\n   */\n  constructor(\n    private readonly client: Client,\n    e: ChannelEvent,\n    protected distribute: Distribute\n  ) {\n    this.id = e.attempt_id!\n    this.state = JobState.Offering\n    this.setState(e.status)\n    this.lastStatusChange = e.timestamp\n    this.createdAt = e.timestamp\n    this._processing = null\n    this.offeringAt = 0\n    this.answeredAt = 0\n    this.bridgedAt = 0\n    this.reportedAt = 0\n    this.startProcessingAt = 0\n    this.stopAt = 0\n    this.closedAt = 0\n    this.form = null\n\n    this.autoAnswered = false\n    this._autoAnswerParam = false\n    this._autoAnswerTimerId = null\n\n    this.communication = distribute.communication\n    this.history = [distribute]\n  }\n\n  /**\n   * Отримати чергу завдання.\n   * @returns {Queue}\n   */\n  get queue(): Queue {\n    return {\n      id: this.distribute.queue_id,\n      name: this.distribute.queue_name,\n    }\n  }\n\n  /**\n   * Отримати тривалість завдання в секундах.\n   * @returns {number}\n   */\n  get duration() {\n    return Math.round((Date.now() - this.lastStatusChange) / 1000)\n  }\n\n  /**\n   * Чи є форма.\n   * @returns {boolean}\n   */\n  get hasForm() {\n    return this.distribute.has_form || false\n  }\n\n  /**\n   * Отримати канал.\n   * @returns {string}\n   */\n  get channel() {\n    return this.distribute.channel\n  }\n\n  /**\n   * Чи дозволено прийняття завдання.\n   * @returns {boolean}\n   */\n  get allowAccept() {\n    return (\n      this.channel === ChannelName.Task &&\n      this.bridgedAt === 0 &&\n      this.closedAt === 0\n    )\n  }\n\n  /**\n   * Чи дозволено відхилення завдання.\n   * @returns {boolean}\n   */\n  get allowDecline() {\n    return this.allowAccept\n  }\n\n  /**\n   * Чи дозволено закриття завдання.\n   * @returns {boolean}\n   */\n  get allowClose() {\n    return (\n      this.channel === ChannelName.Task &&\n      this.closedAt === 0 &&\n      this.bridgedAt > 0\n    )\n  }\n\n  /**\n   * Отримати ідентифікатор учасника.\n   * @returns {number}\n   */\n  get memberId() {\n    return this.distribute.member_id\n  }\n\n  /**\n   * Отримати ідентифікатор черги.\n   * @returns {number}\n   */\n  get queueId() {\n    return this.distribute.queue_id\n  }\n\n  /**\n   * Чи є звітність.\n   * @returns {boolean}\n   */\n  get hasReporting() {\n    return this.distribute.has_reporting\n  }\n\n  /**\n   * Чи дозволено звітування.\n   * @returns {boolean}\n   */\n  get allowReporting() {\n    return this.hasReporting && this.bridgedAt > 0\n  }\n\n  /**\n   * Отримати ідентифікатор каналу агента.\n   * @returns {string}\n   */\n  get agentChannelId() {\n    return this.distribute.agent_channel_id\n  }\n\n  /**\n   * Встановити стан завдання.\n   * @param {string} state - Стан завдання.\n   * @todo\n   */\n  setState(state: string) {\n    this.state = state as JobState\n  }\n\n  setForm(form: Form | null) {\n    this.form = form\n    if (!this.allowReporting) {\n      this.distribute.has_form = true\n      this.distribute.has_reporting = true\n    }\n  }\n\n  /**\n   * Встановити час відповіді.\n   * @param {number} t - Час відповіді.\n   */\n  setAnswered(t: number) {\n    this.answeredAt = t\n    this.lastStatusChange = Date.now()\n\n    if (this._autoAnswerTimerId) {\n      clearTimeout(this._autoAnswerTimerId)\n      this._autoAnswerTimerId = null\n    }\n  }\n\n  /**\n   * Встановити пропозицію.\n   * @param {OfferingEvent} e - Подія пропозиції.\n   */\n  setOffering(e: OfferingEvent) {\n    this.offeringAt = e.timestamp\n\n    if (\n      e.offering.auto_answer &&\n      (this.channel === ChannelType.Job || this.channel === ChannelType.IM)\n    ) {\n      this._autoAnswerParam = e.offering.auto_answer\n      this.acceptDelay().catch((err) => {\n        this.client.emit('error', err)\n      })\n    }\n  }\n\n  /**\n   * Встановити з'єднання.\n   * @param {BridgedEvent} e - Подія з'єднання.\n   */\n  setBridged(e: BridgedEvent) {\n    this.bridgedAt = e.timestamp\n    this.lastStatusChange = Date.now()\n    if (e.form) {\n      this.form = e.form\n    }\n\n    if (this._autoAnswerTimerId) {\n      clearTimeout(this._autoAnswerTimerId)\n      this._autoAnswerTimerId = null\n    }\n  }\n\n  /**\n   * Встановити обробку.\n   * @param {number} now - Час обробки.\n   * @param {Processing} p - Інформація про обробку.\n   */\n  setProcessing(now: number, p: Processing) {\n    this.state = JobState.Processing\n    this.closedAt = now\n    if (!this.startProcessingAt) {\n      this.startProcessingAt = Date.now()\n    }\n\n    if (p.sec && !p.timeout) {\n      p.timeout = Date.now() + p.sec * 1000 // bug\n    }\n\n    this._processing = p\n  }\n\n  /**\n   * Встановити закриття завдання.\n   * @param {number} now - Час закриття.\n   */\n  setClosed(now: number) {\n    this.stopAt = now\n    this.state = JobState.Closed\n  }\n\n  /**\n   * Встановити новий розподіл.\n   * @param {Distribute} d - Інформація про новий розподіл.\n   */\n  setTransferred(d: Distribute, f?: Form) {\n    this.distribute = d\n    this.history.push(d)\n    this.form = f || null\n  }\n\n  /**\n   * Встановити пропущене завдання.\n   */\n  setMissed() {\n    this.state = JobState.Missed\n  }\n\n  /**\n   * Отримати час тайм-ауту обробки.\n   * @returns {number | null}\n   */\n  get processingTimeoutAt() {\n    if (!this._processing?.timeout) {\n      return null\n    }\n\n    return this._processing.timeout\n  }\n\n  /**\n   * Отримати тривалість обробки в секундах.\n   * @returns {number | null}\n   */\n  get processingSec() {\n    if (!this._processing?.sec) {\n      return null\n    }\n\n    return this._processing.sec\n  }\n\n  /**\n   * Отримати спробу.\n   * @returns {Task}\n   */\n  get attempt() {\n    return this\n  }\n\n  /**\n   * Отримати змінні завдання.\n   * @returns {object}\n   */\n  get variables() {\n    const res: { [key: string]: any } = {}\n    for (const k in this.distribute.variables) {\n      if (k.startsWith('cc_')) {\n        continue\n      }\n      res[k] = this.distribute.variables[k]\n    }\n\n    return res\n  }\n\n  /**\n   * Чи є учасник.\n   * @returns {boolean}\n   */\n  get isMember(): boolean {\n    return !!this.memberId\n  }\n\n  /**\n   * Отримати номер для відображення.\n   * @returns {string}\n   */\n  get displayNumber() {\n    return this.communication.destination\n  }\n\n  /**\n   * Отримати ім'я для відображення.\n   * @returns {string | null}\n   */\n  get displayName() {\n    return this.distribute.member_name || null\n  }\n\n  /**\n   * Отримати відображення (ім'я та номер).\n   * @returns {string}\n   */\n  get display() {\n    return `${this.displayName} (${this.displayNumber})`\n  }\n\n  /**\n   * Отримати тривалість оновлення в секундах.\n   * @returns {number | null}\n   */\n  get renewalSec() {\n    if (!this._processing?.renewal_sec) {\n      return null\n    }\n\n    return this._processing.renewal_sec\n  }\n\n  /**\n   * Чи є автоматичний прийом.\n   * @returns {boolean}\n   */\n  get autoAnswer() {\n    return this.autoAnswerDelay > 0\n  }\n\n  /**\n   * Отримати затримку автоматичного прийому.\n   * @returns {number}\n   */\n  get autoAnswerDelay() {\n    if (!this._autoAnswerParam || `${this._autoAnswerParam}` === 'false') {\n      return 0\n    } else if (Number.isFinite(+this._autoAnswerParam)) {\n      return +this._autoAnswerParam\n    }\n\n    return this.client.autoAnswerDelayTime\n  }\n\n  /**\n   * Прийняти завдання.\n   * @returns {Promise<any>}\n   */\n  async accept() {\n    return this.client.request(`cc_agent_task_accept`, {\n      agent_id: this.distribute.agent_id,\n      attempt_id: this.id,\n      app_id: this.distribute.app_id,\n    })\n  }\n\n  /**\n   * Автоматично прийняти завдання із затримкою.\n   * @returns {Promise<void>}\n   */\n  async acceptDelay() {\n    this._autoAnswerTimerId = setTimeout(async () => {\n      if (this.autoAnswered) {\n        return\n      }\n\n      if (!this.answeredAt) {\n        this.autoAnswered = true\n        await this.accept()\n      }\n    }, this.autoAnswerDelay)\n  }\n\n  /**\n   * Закрити завдання.\n   * @returns {Promise<any>}\n   */\n  async close() {\n    return this.client.request(`cc_agent_task_close`, {\n      agent_id: this.distribute.agent_id,\n      attempt_id: this.id,\n      app_id: this.distribute.app_id,\n    })\n  }\n\n  /**\n   * Відхилити завдання.\n   * @returns {Promise<any>}\n   */\n  async decline() {\n    return this.client.request(`cc_agent_task_close`, {\n      agent_id: this.distribute.agent_id,\n      attempt_id: this.id,\n      app_id: this.distribute.app_id,\n    })\n  }\n\n  /**\n   * Звітувати про завдання.\n   * @param {Reporting} reporting - Дані звітності.\n   * @returns {Promise<any>}\n   */\n  async reporting(reporting: Reporting) {\n    const res = await this.client.request('cc_reporting', {\n      attempt_id: this.id,\n      ...reporting,\n    })\n    this.reportedAt = Date.now()\n\n    return res\n  }\n\n  /**\n   * Оновити завдання.\n   * @param {number} [sec] - Кількість секунд для оновлення.\n   * @returns {Promise<any>}\n   */\n  async renew(sec?: number) {\n    return this.client.request('cc_renewal', {\n      attempt_id: this.id,\n      renewal_sec: sec ? sec : this.processingSec,\n    })\n  }\n\n  /**\n   * Виконати дію з формою.\n   * @param {string} action - Дія, яку потрібно виконати.\n   * @param {Map<string, string | number | object | any[]>} fields - Поля форми.\n   * @returns {Promise<any>}\n   * @throws {Error} Якщо активна форма не знайдена.\n   */\n  async formAction(\n    action: string,\n    fields: Map<string, string | number | object | any[]> | undefined\n  ) {\n    if (!this.form) {\n      throw new Error('not found active form')\n    }\n\n    return this.client.request('cc_form_action', {\n      attempt_id: this.id,\n      app_id: this.distribute.app_id,\n      action,\n      fields: formFields(fields || this.form.fields),\n    })\n  }\n\n  async saveForm(\n    form: Form | null,\n    fields: Map<string, string | number | object | any[]> | null\n  ) {\n    if (!this.form) {\n      return\n    }\n\n    return this.client.request('cc_form_save', {\n      attempt_id: this.id,\n      app_id: this.distribute.app_id,\n      fields: formFields(fields || this.form.fields),\n      form: form || this.form,\n    })\n  }\n\n  async componentAction(\n    componentId: string,\n    action: string,\n    vars: Map<string, string | number | object | any[]> | undefined,\n    sync?: boolean\n  ) {\n    if (!this.form) {\n      throw new Error('no form')\n    }\n\n    return this.client.request('cc_component_action', {\n      attempt_id: this.id,\n      app_id: this.distribute.app_id,\n      action,\n      componentId,\n      vars: formFields(vars),\n      formId: this.form.id,\n      sync: !!sync,\n    })\n  }\n}\n\nfunction formFields(\n  fields: Map<string, string | number | object | any[]> | undefined\n) {\n  const res = {} as object\n\n  if (!fields) return res\n\n  for (const [key, value] of Object.entries(fields)) {\n    if (typeof value === 'object') {\n      ;(res as any)[key] = JSON.stringify(value)\n    } else {\n      ;(res as any)[key] = value\n    }\n  }\n\n  return res\n}\n","import type { Client } from './client'\nimport { type BaseError, PauseNotAllowedError, TypeErrors } from './errors'\nimport type { keyable } from './notification'\nimport {\n  type BridgedEvent,\n  type ChannelEvent,\n  type Distribute,\n  type DistributeEvent,\n  type FormEvent,\n  type MissedEvent,\n  type OfferingEvent,\n  type ProcessingEvent,\n  Task,\n  type TransferEvent,\n  type WrapTimeEvent,\n} from './task'\n\n/**\n * Інтерфейс, що представляє властивості абонента, який очікує на відповідь.\n * @interface\n */\nexport interface WaitingMemberProperties {\n  deadline: number\n  queue: object\n  wait: number\n}\n\nexport interface WaitingMember extends WaitingMemberProperties {\n  attempt_id: number\n  communication: keyable\n  channel: string\n  session_id: string\n}\n\n/**\n * Інтерфейс, що представляє абонента, який очікує на відповідь від дзвінка.\n * @interface\n */\nexport interface WaitingMemberCall extends WaitingMemberProperties {\n  attemptId: number\n  sessionId: string\n  displayName: string\n  displayNumber: string\n}\n\n/**\n * Інтерфейс, що представляє абонента, який очікує на відповідь від чату.\n * @interface\n */\nexport interface WaitingMemberChat extends WaitingMemberProperties {\n  attemptId: number\n  sessionId: string\n  message: string\n  displayName: string\n  peer: string\n  chat: string\n  member: object\n}\n\n/**\n * Інтерфейс, що представляє канал зв'язку.\n * @interface\n */\nexport interface Channel {\n  channel: ChannelType\n  state: string\n  joined_at: number\n  timeout?: number\n  active: boolean\n  open: number\n  wrap_time_ids: number[]\n}\n\n/**\n * Інтерфейс, що представляє сесію агента.\n * @interface\n */\nexport interface AgentSession {\n  agent_id: number\n  status: string\n  on_demand: boolean\n  last_status_change: number\n  status_duration: number\n  status_payload: any\n  status_comment: string\n  channels: Channel[]\n  is_supervisor: boolean\n  is_admin: boolean\n  team: object | null\n  supervisor: object | null\n  auditor: object | null\n}\n\n/**\n * Інтерфейс, що представляє відповідь на запит для сесії агента.\n * @interface\n */\nexport interface AgentSessionResponse extends AgentSession {\n  task?: Distribute[]\n}\n\n/**\n * Інтерфейс, що представляє подію зміни статусу агента.\n * @interface\n */\nexport interface AgentStatusEvent {\n  user_id: number\n  agent_id: number\n  timestamp: number\n  status: string\n  status_comment: string\n  status_payload?: any\n  timeout?: number\n  channels: Channel[]\n  on_demand?: boolean\n}\n\n/**\n * Перелік статусів агента.\n * @enum {string}\n */\nexport enum AgentStatus {\n  /**\n   * Агент онлайн.\n   */\n  Online = 'online',\n\n  /**\n   * Агент офлайн.\n   */\n  Offline = 'offline',\n\n  /**\n   * Агент на паузі.\n   */\n  Pause = 'pause',\n\n  /**\n   * Агент у перерві.\n   */\n  BreakOut = 'break_out',\n}\n\n/**\n * Перелік станів каналу зв'язку.\n * @enum {string}\n */\nexport enum ChannelState {\n  /**\n   * Канал очікує.\n   */\n  Waiting = 'waiting',\n\n  /**\n   * Канал розподіляється (дзвінок дзвонить).\n   */\n  Distribute = 'distribute',\n\n  /**\n   * Канал пропонує (дзвінок дзвонить).\n   */\n  Offering = 'offering',\n\n  /**\n   * Канал відповів на дзвінок.\n   */\n  Answered = 'answered',\n\n  /**\n   * Канал активний.\n   */\n  Active = 'active',\n\n  /**\n   * Канал з'єднаний.\n   */\n  Bridged = 'bridged',\n\n  /**\n   * Канал на утриманні.\n   */\n  Hold = 'hold',\n\n  /**\n   * Канал пропущено.\n   */\n  Missed = 'missed',\n\n  /**\n   * Канал у часі обробки.\n   */\n  WrapTime = 'wrap_time',\n\n  /**\n   * Канал обробляється.\n   */\n  Processing = 'processing',\n\n  /**\n   * Канал у процесі передачі.\n   */\n  Transfer = 'transfer',\n\n  /**\n   * Канал заповнюється формою.\n   */\n  Form = 'form',\n}\n\n/**\n * Перелік типів каналів зв'язку.\n * @enum {string}\n */\nexport enum ChannelType {\n  /**\n   * Тип каналу - дзвінок.\n   */\n  Call = 'call',\n\n  /**\n   * Тип каналу - електронна пошта.\n   */\n  Email = 'email',\n\n  /**\n   * Тип каналу - чат.\n   */\n  Chat = 'chat',\n\n  /**\n   * Тип каналу - завдання (планується перейменування на job).\n   */\n  Job = 'task',\n\n  /**\n   * Тип каналу - вихідний дзвінок.\n   */\n  OutCall = 'out_call',\n  IM = 'im',\n}\n\n/**\n * Інтерфейс, що представляє відключеного абонента.\n * @interface\n */\ntype OfflineMember = {\n  id: number\n  [key: string]: any\n}\n\n/**\n * Інтерфейс, що представляє список відключених членів.\n * @interface\n */\nexport interface OfflineMemberList {\n  items: OfflineMember[]\n  next?: boolean\n}\n\n/**\n * Клас Agent: Використовується для представлення агента, що виконує завдання,\n * чати та дзвінки, а також управляє каналами та офлайн-учасниками.\n *\n * Конструктор Agent:\n *  client: Клієнт, що керує цим агентом. Використовується для доступу до зовнішніх ресурсів та методів.\n *  info: Інформація про сесію агента, що включає дані, специфічні для агента, такі як статус, ідентифікатори тощо.\n *  Конструктор ініціалізує всі властивості класу, встановлюючи значення за замовчуванням\n *  або порожні об'єкти для управління різними аспектами роботи агента.\n */\nexport class Agent {\n  task: Map<number, Task>\n  maxWaitingListChats: number\n  waitingListChats: WaitingMemberChat[]\n  waitingListCalls: WaitingMemberCall[]\n  _channels: Map<string, Channel>\n  _listOfflineMembers: OfflineMemberList | null\n  lastStatusChange: number\n\n  /**\n   * Конструктор класу Agent.\n   * @constructor\n   * @param {Client} client - Клієнт.\n   * @param {AgentSession} info - Сесія агента.\n   */\n  constructor(\n    protected readonly client: Client,\n    protected info: AgentSession\n  ) {\n    this.task = new Map<number, Task>()\n    this._channels = new Map<string, Channel>()\n    this.initChannels(info.channels)\n    this._listOfflineMembers = null\n    this.maxWaitingListChats = 10\n    this.waitingListChats = []\n    this.waitingListCalls = []\n\n    this.lastStatusChange = Date.now() - this.info.status_duration * 1000\n  }\n\n  /**\n   * Метод, що повертає ідентифікатор агента.\n   * @method\n   * @returns {number} - Ідентифікатор агента.\n   */\n  get agentId() {\n    return this.info.agent_id\n  }\n\n  /**\n   * Метод, що повертає статус \"On Demand\".\n   * @method\n   * @returns {boolean} - Статус \"On Demand\".\n   */\n  get onDemand() {\n    return this.info.on_demand\n  }\n\n  /**\n   * Метод, що повертає статус агента.\n   * @method\n   * @returns {string} - Статус агента.\n   */\n  get status() {\n    return this.info.status\n  }\n\n  /**\n   * Метод, що повертає додаткову інформацію про статус агента.\n   * @method\n   * @returns {any} - Додаткова інформація про статус агента.\n   */\n  get statusPayload() {\n    return this.info.status_payload\n  }\n\n  get statusComment() {\n    return this.info.status_comment\n  }\n\n  /**\n   * Метод, що повертає, чи є агент адміністратором.\n   * @method\n   * @returns {boolean} - Чи є агент адміністратором.\n   */\n  get isAdmin() {\n    return this.info.is_admin\n  }\n\n  /**\n   * Метод, що повертає, чи є агент супервайзером.\n   * @method\n   * @returns {boolean} - Чи є агент супервайзером.\n   */\n  get isSupervisor() {\n    return this.info.is_supervisor\n  }\n\n  /**\n   * Метод, що повертає команду агента.\n   * @method\n   * @returns {object | null} - Команда агента.\n   */\n  get team() {\n    return this.info.team\n  }\n\n  /**\n   * Метод, що повертає супервайзера агента.\n   * @method\n   * @returns {object | null} - Супервайзер агента.\n   */\n  get supervisor() {\n    return this.info.supervisor\n  }\n\n  /**\n   * Метод, що повертає аудитора агента.\n   * @method\n   * @returns {object | null} - Аудитор агента.\n   */\n  get auditor() {\n    return this.info.auditor\n  }\n\n  /**\n   * Метод, що повертає список каналів зв'язку.\n   * @method\n   * @returns {Channel[]} - Список каналів зв'язку.\n   */\n  get channels() {\n    return Array.from(this._channels.values())\n  }\n\n  /**\n   * Метод, що повертає канал зв'язку.\n   * @method\n   * @returns {Channel | undefined} - Канал зв'язку.\n   */\n  get channel() {\n    return this._channels.get(ChannelType.Call)\n  }\n\n  /**\n   * Метод, що повертає тривалість стану.\n   * @method\n   * @returns {number} - Тривалість стану.\n   */\n  get stateDuration() {\n    return Math.round((Date.now() - this.lastStatusChange) / 1000)\n  }\n\n  /**\n   * Метод, що встановлює список членів, які очікують на відповідь.\n   * @method\n   * @param {keyable | undefined} e - Об'єкт зі списком членів, які очікують на відповідь.\n   */\n  setWaitingList(e: keyable | undefined) {\n    if (e) {\n      this.waitingListCalls.length = 0\n      this.waitingListChats.length = 0\n\n      if (this.status !== AgentStatus.Online) {\n        return\n      }\n\n      for (const el of (e.calls || []) as WaitingMember[]) {\n        this.waitingListCalls.push({\n          displayName: el.communication.name || '',\n          displayNumber: el.communication.destination || '',\n          attemptId: el.attempt_id,\n          sessionId: el.session_id,\n          deadline: el.deadline,\n          queue: el.queue,\n          wait: el.wait,\n        })\n      }\n\n      for (const el of (e.chats || []) as WaitingMember[]) {\n        this.waitingListChats.push({\n          chat: el.communication.chat || '',\n          displayName: el.communication.name || '',\n          message: el.communication.msg || '',\n          peer: el.communication.destination || '',\n          attemptId: el.attempt_id,\n          sessionId: el.session_id,\n          deadline: el.deadline,\n          queue: el.queue,\n          wait: el.wait,\n          member: el.communication.member,\n        })\n\n        if (this.waitingListChats.length >= this.maxWaitingListChats) {\n          break\n        }\n      }\n    }\n  }\n\n  /**\n   * Метод, що видаляє спробу очікування на відповідь.\n   * @method\n   * @param {keyable | undefined} e - Об'єкт зі списком членів, які очікують на відповідь.\n   */\n  deleteWaitingAttempt(e: keyable | undefined) {\n    if (e) {\n      const attemptId = e.attempt_id\n\n      if (!removeWaitingList(this.waitingListCalls, attemptId)) {\n        removeWaitingList(this.waitingListChats, attemptId)\n      }\n    }\n  }\n\n  /**\n   * Метод, що перехоплює спробу.\n   * @method\n   * @param {number} id - Ідентифікатор спроби.\n   * @returns {Promise<any>} - Результат запиту.\n   */\n  async interceptAttempt(id: number) {\n    return this.client.request(`cc_intercept_attempt`, {\n      attempt_id: id,\n      agent_id: this.agentId,\n    })\n  }\n\n  /**\n   * Метод, що обробляє подію каналу зв'язку.\n   * @method\n   * @param {ChannelEvent} e - Подія каналу зв'язку.\n   * @returns {Task | undefined | BaseError | PauseNotAllowedError} - Задача, помилка або undefined.\n   */\n  onChannelEvent(e: ChannelEvent) {\n    let task: Task | undefined\n\n    switch (e.status) {\n      case ChannelState.Distribute: {\n        const distributeEvent: DistributeEvent = e as DistributeEvent\n        if (!distributeEvent) {\n          throw new Error('bad event')\n        }\n\n        task = new Task(this.client, e, distributeEvent.distribute)\n        this.task.set(task.id, task)\n\n        if (task.agentChannelId) {\n          switch (task.channel) {\n            case ChannelType.Call:\n            case ChannelType.OutCall: {\n              const call = this.client.callById(task.agentChannelId)\n              if (call && !call.task) {\n                call.task = task\n                if (!call.queue) {\n                  call.queue = {\n                    queue_name: task.queue.name,\n                    queue_id: String(task.queue.id),\n                    attempt_id: task.id,\n                    member_id: '',\n                    queue_type: '',\n                    reporting: String(task.hasReporting),\n                  }\n                }\n              }\n              break\n            }\n            case ChannelType.Chat: {\n              const chat = this.client.conversationById(task.agentChannelId)\n              if (chat && !chat.task) {\n                chat.task = task\n              }\n              break\n            }\n\n            default:\n          }\n        }\n        break\n      }\n\n      case ChannelState.Offering: {\n        const evOffering = e as OfferingEvent\n        task = this.task.get(e.attempt_id!)\n        if (task) {\n          task.setOffering(evOffering)\n        }\n        break\n      }\n\n      case ChannelState.Bridged: {\n        const bridged = e as BridgedEvent\n        task = this.task.get(bridged.attempt_id!)\n        if (task) {\n          task.setBridged(bridged)\n        }\n        break\n      }\n\n      case ChannelState.Transfer: {\n        const transfer = e as TransferEvent\n        task = this.task.get(transfer.to_attempt_id)\n        if (task) {\n          this.task.delete(task.id)\n          task.id = transfer.attempt_id!\n          task.setTransferred(transfer.distribute, transfer.form)\n\n          this.task.set(task.id, task)\n        }\n        break\n      }\n\n      case ChannelState.Answered:\n        task = this.task.get(e.attempt_id!)\n        if (task) {\n          task.answeredAt = e.timestamp\n        }\n        break\n\n      case ChannelState.Form: {\n        const formEvent = e as FormEvent\n        task = this.task.get(e.attempt_id!)\n        if (task) {\n          task.setForm(formEvent.form || null)\n        }\n\n        return // todo\n      }\n\n      case ChannelState.Missed:\n        if (e.attempt_id) {\n          task = this.task.get(e.attempt_id) as Task\n          if (task) {\n            task.stopAt = e.timestamp\n            const missedEvent: MissedEvent = e as MissedEvent\n            if (!missedEvent) {\n              throw new Error('bad event')\n            }\n            task.setMissed()\n\n            this.setChannelStateTimeout(e, missedEvent.missed.timeout)\n            this.task.delete(e.attempt_id)\n            this.client.reportingChannelTask(task)\n\n            return task\n          }\n        }\n        break\n\n      case ChannelState.WrapTime:\n        if (e.attempt_id) {\n          const wrapTimeEvent: WrapTimeEvent = e as WrapTimeEvent\n          if (!wrapTimeEvent) {\n            throw new Error('bad event')\n          }\n\n          task = this.task.get(e.attempt_id) as Task\n\n          this.task.delete(e.attempt_id)\n          this.client.reportingChannelTask(task)\n        }\n        break\n\n      case ChannelState.Processing:\n        if (e.attempt_id) {\n          const processingEvent: ProcessingEvent = e as ProcessingEvent\n          if (!processingEvent) {\n            throw new Error('bad event')\n          }\n\n          task = this.task.get(e.attempt_id) as Task\n\n          if (task) {\n            task.setProcessing(e.timestamp, processingEvent.processing)\n            this.setChannelStateTimeout(\n              e,\n              processingEvent.processing.timeout || 0\n            )\n\n            return task\n          }\n        }\n        break\n\n      // TODO\n      case ChannelState.Waiting:\n        if (e.attempt_id) {\n          task = this.task.get(e.attempt_id)\n          if (task) {\n            task.setClosed(e.timestamp)\n            this.task.delete(e.attempt_id)\n            this.client.reportingChannelTask(task)\n          }\n        }\n        break\n\n      default:\n      // throw new Error(\"not found task\")\n    }\n\n    this.setChannelState(e)\n\n    if (task) {\n      task.setState(e.status)\n\n      return task\n    } else {\n      return undefined\n    }\n  }\n\n  /**\n   * Метод, що встановлює статус \"Online\" для агента.\n   * @method\n   * @param {string[]} [channels] - Список каналів зв'язку.\n   * @param {boolean} [onDemand] - Статус \"On Demand\".\n   * @returns {Promise<any>} - Об'єкт з інформацією про сесію агента.\n   */\n  async online(channels?: string[], onDemand?: boolean) {\n    return this.client.agentSetOnline(this.agentId, channels, onDemand)\n  }\n\n  /**\n   * Метод, що встановлює статус \"Waiting\" для агента.\n   * @method\n   * @param {string} channel - Канал зв'язку.\n   * @returns {Promise<any>} - Об'єкт з інформацією про сесію агента.\n   */\n  async waiting(channel: string) {\n    return this.client.agentSetWaiting(this.agentId, channel)\n  }\n\n  /**\n   * Метод, що встановлює статус \"Pause\" для агента.\n   * @method\n   * @param {any} payload - Додаткова інформація про статус \"Pause\".\n   * @returns {Promise<any>} - Об'єкт з інформацією про сесію агента або об'єкт помилки.\n   * Якщо статус \"Pause\" не дозволений, повертається об'єкт помилки PauseNotAllowedError.\n   */\n  async pause(payload?: any) {\n    try {\n      return await this.client.agentSetPause(this.agentId, payload)\n    } catch (err) {\n      const e = err as BaseError\n      if (e.id === TypeErrors.PauseNotAllow) {\n        return new PauseNotAllowedError(e.detail)\n      }\n\n      return e\n    }\n  }\n\n  /**\n   * Метод, що встановлює статус \"Offline\".\n   * @method\n   * @returns {Promise<any>} - Результат запиту.\n   */\n  async offline() {\n    return this.client.agentSetOffline(this.agentId)\n  }\n\n  /**\n   * Метод, що обмежує список членів, які очікують на відповідь від чату.\n   * @method\n   * @param {number} limit - Ліміт.\n   */\n  limitWaitingListChats(limit: number) {\n    this.maxWaitingListChats = limit\n  }\n\n  /**\n   * Метод, що встановлює статус агента.\n   * @method\n   * @param {AgentStatusEvent} e - Подія зміни статусу агента.\n   */\n  setStatus(e: AgentStatusEvent) {\n    if (e.status === AgentStatus.Online) {\n      this.info.on_demand = e.on_demand || false\n      this.initChannels(e.channels)\n    } else {\n      this.waitingListCalls.length = 0\n      this.waitingListChats.length = 0\n    }\n\n    this.info.status = e.status\n    this.info.status_comment = e.status_comment\n    this.info.status_payload = e.status_payload ? e.status_payload : null\n    this.lastStatusChange = Date.now()\n  }\n\n  /**\n   * Метод, що направляє абонента.\n   * @method\n   * @param {number} memberId - Ідентифікатор абонента.\n   * @param {number} communicationId - Ідентифікатор зв'язку.\n   * @returns {Promise<any>} - Результат запиту.\n   */\n  async directMember(memberId: number, communicationId: number) {\n    return this.client.request(`cc_member_direct`, {\n      agent_id: this.agentId,\n      member_id: memberId,\n      communication_id: communicationId,\n    })\n  }\n\n  /**\n   * Метод, що повертає список відключених абонентів.\n   * @method\n   * @param {string} q - Пошуковий запит.\n   * @param {number} page - Номер сторінки.\n   * @param {number} perPage - Кількість елементів на сторінці.\n   * @returns {Promise<OfflineMemberList>} - Список абонентів із офлайн черги.\n   */\n  async offlineMembers(q: string, page: number, perPage: number) {\n    this._listOfflineMembers = (await this.client.request(\n      `cc_fetch_offline_members`,\n      {\n        agent_id: this.agentId,\n        page,\n        q,\n        per_page: perPage,\n      }\n    )) as OfflineMemberList\n\n    return this._listOfflineMembers\n  }\n\n  /**\n   * Метод, що перевіряє, чи має задачу агент.\n   * @method\n   * @param {Task} task - Задача.\n   * @returns {boolean} - true, якщо агент має задачу, false - якщо ні.\n   */\n  hasTask(task: Task) {\n    return this.task.has(task.id)\n  }\n\n  private initChannels(channels: Channel[]) {\n    for (const c of channels) {\n      this._channels.set(c.channel, c)\n    }\n  }\n\n  private getChannel(name: string) {\n    return this._channels.get(name)\n  }\n\n  private setChannelState(e: ChannelEvent) {\n    const chan = this.getChannel(e.channel)\n    if (chan) {\n      chan.state = e.status\n      chan.joined_at = e.timestamp\n      chan.timeout = undefined\n    }\n  }\n\n  private setChannelStateTimeout(e: ChannelEvent, timeout: number) {\n    const channel = this.getChannel(e.channel)\n    if (channel) {\n      channel.state = e.status\n      channel.timeout = timeout\n      channel.joined_at = e.timestamp\n    }\n  }\n}\n\n/**\n * Функція, що видаляє спробу очікування на відповідь.\n * @function\n * @param {WaitingMemberChat[] | WaitingMemberCall[]} list - Список членів, які очікують\n */\nfunction removeWaitingList(\n  list: WaitingMemberChat[] | WaitingMemberCall[],\n  attemptId: number\n): boolean {\n  for (let i = 0; i < list.length; i++) {\n    if (list[i].attemptId === attemptId) {\n      list.splice(i, 1)\n\n      return true\n    }\n  }\n\n  return false\n}\n","/**\n * Функція, що форматує URI WebSocket.\n * @function\n * @param {string} host - Хост.\n * @returns {string} - URI WebSocket.\n */\nexport function formatWebSocketUri(host: string): string {\n  return host.replace(/^http/, 'ws')\n}\n\n/**\n * Функція, що форматує базовий URI.\n * @function\n * @param {string} host - Хост.\n * @returns {string} - Базовий URI.\n */\nexport function formatBaseUri(host: string): string {\n  let res = host.replace(/^ws/, 'http')\n\n  if (res.endsWith('/')) {\n    res = res.slice(0, -1)\n  }\n\n  if (res.endsWith('/ws')) {\n    res = res.slice(0, -3)\n  }\n\n  return res\n}\n\n/**\n * Функція, що розбиває рядок на частини заданої довжини.\n * @function\n * @param {string} str - Рядок.\n * @param {number} len - Довжина частини.\n * @returns {string[]} - Масив частин рядка.\n */\nexport function chunkString(str: string, len: number): string[] {\n  const size = Math.ceil(str.length / len)\n  const r = new Array(size)\n  let offset = 0\n\n  for (let i = 0; i < size; i++) {\n    r[i] = str.substring(offset, offset + len)\n    offset += len\n  }\n\n  return r\n}\n\nexport function generateId() {\n  return String(Date.now().toString(32) + Math.random().toString(16)).replace(\n    /\\./g,\n    ''\n  )\n}\n\nexport function generateTimestampFilename() {\n  const now = new Date()\n  const pad = (num: any) => String(num).padStart(2, '0')\n\n  const year = now.getFullYear()\n  const month = pad(now.getMonth() + 1)\n  const day = pad(now.getDate())\n\n  const hours = pad(now.getHours())\n  const minutes = pad(now.getMinutes())\n  const seconds = pad(now.getSeconds())\n\n  const dateString = `${year}-${month}-${day}`\n\n  const timeString = `${hours}_${minutes}_${seconds}`\n\n  return `${dateString}_${timeString}`\n}\n","import { EventEmitter } from 'ee-ts'\n\nexport interface StorageMediaCaptureEvents {\n  error(e: Error): void\n  close(): void\n}\n\nexport class StorageMediaCapture extends EventEmitter<StorageMediaCaptureEvents> {\n  id: string\n  sdpResolver: string\n  stream: MediaStream[] | null\n  pc: RTCPeerConnection | null\n  token: string\n  offerOptions: RTCOfferOptions\n  restartId: string\n  name: string\n  constructor(\n    id: string,\n    name: string,\n    mediaStream: MediaStream[],\n    iceServers: RTCIceServer[],\n    sdpResolver: string,\n    token: string\n  ) {\n    super()\n    this.id = id\n    this.sdpResolver = `${sdpResolver}/api/webrtc/video`\n    this.token = token\n    this.stream = mediaStream\n    const pc = new RTCPeerConnection({\n      iceServers,\n    })\n\n    this.restartId = ''\n    this.name = name\n    this.pc = pc\n    this.offerOptions = {\n      iceRestart: false,\n    }\n    pc.oniceconnectionstatechange = () => {\n      switch (pc.iceConnectionState) {\n        case 'disconnected':\n          break\n        case 'failed':\n        case 'closed':\n          this.close()\n          break\n        default:\n      }\n    }\n\n    pc.onicecandidate = async (_event) => {\n      if (pc.iceGatheringState !== 'complete') {\n        return\n      }\n\n      const request = {\n        type: pc.localDescription!.type,\n        sdp_offer: pc.localDescription!.sdp,\n        uuid: this.id,\n        name: this.name,\n      }\n\n      let url = this.sdpResolver\n      let method = 'POST'\n\n      if (this.offerOptions.iceRestart) {\n        url += `/${this.restartId}`\n        method = 'PUT'\n      }\n\n      let remoteSdp: any\n\n      try {\n        const sdp = JSON.stringify(request)\n        const response = await fetch(`${url}?channel=CallChannel`, {\n          method,\n          headers: {\n            'X-Webitel-Access': this.token,\n          },\n          body: sdp,\n        })\n\n        if (response.status !== 200) {\n          throw new Error(await response.json())\n        }\n\n        remoteSdp = await response.json()\n      } catch (e) {\n        this.emit('error', e as Error)\n        this.close()\n\n        return\n      }\n      if (!this.restartId) {\n        this.restartId = remoteSdp.id\n      }\n\n      await pc.setRemoteDescription({\n        type: 'answer',\n        sdp: remoteSdp.sdp_answer,\n      })\n    }\n    // pc.addTransceiver('video', { direction: 'sendrecv' });\n    // pc.addTransceiver('audio', { direction: 'sendrecv' });\n  }\n\n  async hangup() {\n    let url = this.sdpResolver\n    url += `/${this.restartId}`\n\n    const _response = await fetch(url, {\n      method: 'DELETE',\n      headers: {\n        'X-Webitel-Access': this.token,\n      },\n    })\n    this.close()\n  }\n\n  close(): void {\n    if (this.stream) {\n      this.stream.forEach((s) => {\n        s.getTracks().forEach((t) => t.stop())\n      })\n      this.stream = null\n    }\n\n    if (this.pc) {\n      this.pc.close()\n      this.pc = null\n    }\n    this.emit('close')\n    this.off('*')\n  }\n\n  async cast(): Promise<void> {\n    const pc = this.pc\n    this.stream!.forEach((s) => {\n      s.getTracks().forEach((track) => {\n        pc!.addTrack(track, s)\n      })\n    })\n\n    const offer = await pc!.createOffer(this.offerOptions)\n    await pc!.setLocalDescription(offer)\n  }\n\n  async restart(): Promise<void> {\n    const pc = this.pc\n    this.offerOptions.iceRestart = true\n    const offer = await pc!.createOffer(this.offerOptions)\n    await pc!.setLocalDescription(offer)\n  }\n}\n","export function genId() {\n  if (crypto && crypto.randomUUID instanceof Function) {\n    return crypto.randomUUID()\n  }\n\n  // @ts-ignore\n  return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, (c: any) =>\n    // @ts-ignore\n    // tslint:disable-next-line: no-bitwise\n    (\n      c ^\n      // tslint:disable-next-line: no-bitwise\n      (crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (c / 4)))\n    ).toString(16)\n  )\n}\n\nexport function setVP9Video(pc: RTCPeerConnection): void {\n  pc.getTransceivers().forEach((transceiver) => {\n    if (\n      transceiver.direction === 'sendrecv' &&\n      transceiver.receiver.track.kind === 'video'\n    ) {\n      const capabilities = RTCRtpSender.getCapabilities('video')\n      const preferredCodecs = capabilities!.codecs.filter(\n        (codec) =>\n          codec.mimeType === 'video/VP9' &&\n          (codec.sdpFmtpLine\n            ? codec.sdpFmtpLine.includes('profile-id=0') ||\n              codec.sdpFmtpLine.includes('profile-id=2')\n            : true) // Filter for VP9 profiles if needed\n      )\n\n      if (preferredCodecs.length > 0) {\n        // Prioritize VP9 (profile 0 then profile 2)\n        preferredCodecs.sort((a, b) => {\n          if (a.mimeType === 'video/VP9' && b.mimeType === 'video/VP9') {\n            const aProfile = a.sdpFmtpLine\n              ? a.sdpFmtpLine.includes('profile-id=0')\n                ? 0\n                : 2\n              : -1\n            const bProfile = b.sdpFmtpLine\n              ? b.sdpFmtpLine.includes('profile-id=0')\n                ? 0\n                : 2\n              : -1\n\n            return aProfile - bProfile\n          }\n\n          return 0\n        })\n\n        transceiver.setCodecPreferences(preferredCodecs)\n      }\n    }\n  })\n}\n\nexport async function sendWebRTCFrame(\n  media: MediaStream,\n  name: string,\n  basePath: string,\n  callId: string,\n  token: string\n) {\n  const video = document.createElement('video')\n  const canvas = document.createElement('canvas')\n  const context = canvas.getContext('2d')\n\n  if (!context) {\n    throw new Error('canvas context not found')\n  }\n\n  video.srcObject = media\n\n  return new Promise((resolve, reject) => {\n    video.addEventListener('loadeddata', async () => {\n      const { videoWidth, videoHeight } = video\n      canvas.width = videoWidth\n      canvas.height = videoHeight\n\n      try {\n        await video.play()\n        context.drawImage(video, 0, 0, videoWidth, videoHeight)\n        const blob = await new Promise((resolveBlob: (res: any) => void) => {\n          canvas.toBlob(resolveBlob, 'image/png', 1)\n        })\n\n        const formData = new FormData()\n        formData.append('frame', blob as Blob, name)\n\n        const response = await fetch(\n          `${basePath}/api/storage/file/${callId}/upload?channel=call&thumbnail=true`,\n          {\n            method: 'POST',\n            body: formData,\n            headers: {\n              'X-Webitel-Access': token,\n            },\n          }\n        )\n\n        if (response.ok) {\n          resolve({\n            file: (await response.json())[0],\n            blob,\n          })\n        } else {\n          throw response\n        }\n      } catch (error) {\n        reject(error)\n      }\n    })\n  })\n}\n\nexport async function sendWebRTCFrame2(\n  track: MediaStreamTrack,\n  name: string,\n  basePath: string,\n  callId: string,\n  token: string\n) {\n  // @ts-ignore\n  const imageCapture = new ImageCapture(track)\n  // @ts-ignore - grabFrame() is dropped from lib.dom's ImageCapture type\n  const imageBitmap = await imageCapture.grabFrame()\n\n  const canvas = document.createElement('canvas')\n  canvas.width = imageBitmap.width\n  canvas.height = imageBitmap.height\n  // @ts-ignore\n  canvas.getContext('2d').drawImage(imageBitmap, 0, 0)\n\n  const blob = await new Promise((resolve) => {\n    canvas.toBlob(resolve, 'image/png', 1)\n  })\n\n  const formData = new FormData()\n  formData.append('frame', blob as Blob, name)\n\n  const response = await fetch(\n    `${basePath}/api/storage/file/${callId}/upload?channel=call&thumbnail=true`,\n    {\n      method: 'POST',\n      body: formData,\n      headers: {\n        'X-Webitel-Access': token,\n      },\n    }\n  )\n\n  if (response.ok) {\n    return await response.json()\n  } else {\n    throw response\n  }\n}\n","import type { CallSession, MediaConfig } from '../sip'\nimport type { Client, UserCallRequest } from './client'\nimport type { QueueParameters } from './queue'\nimport type { MemberCommunication, Reporting, Task, TaskData } from './task'\nimport { generateTimestampFilename } from './utils'\nimport { StorageMediaCapture } from '../screen/storage'\nimport { sendWebRTCFrame } from '../screen/utils'\nimport type { Conversation } from './conversation'\n\n/**\n * Параметри виклику\n * @typedef {Object} CallParameters\n * @property {number} [timeout] - Тайм-аут у секундах.\n * @property {boolean} [video] - Вказує на наявність відео.\n * @property {boolean} [audio] - Вказує на наявність аудіо.\n * @property {boolean} [screen] - Вказує на наявність екрану.\n * @property {boolean} [disableStun] - Вимкнення STUN.\n * @property {boolean} [autoAnswer] - Автоматична відповідь.\n * @property {string} [display] - Відображуване ім'я.\n * @property {Map<string, string>} [variables] - Змінні виклику.\n */\nexport interface CallParameters {\n  timeout?: number\n  video?: boolean\n  audio?: boolean\n  screen?: boolean\n  disableStun?: boolean\n  autoAnswer?: boolean\n  display?: string\n  variables?: Map<string, string>\n  contactId?: number\n}\n\n/**\n * Статуси звітності виклику\n * @enum {string}\n */\nexport enum CallReportingStatus {\n  Abandoned = 'abandoned', // Викинуто\n  Cancel = 'cancel', // Скасовано\n  Success = 'success', // Успішно\n  Failed = 'failed', // Неуспішно\n  Missed = 'missed', // Пропущено\n  Timeout = 'timeout', // Тайм-аут\n  Endless = 'endless', // Нескінченний\n  Transferred = 'transferred', // Передано\n}\n\n/**\n * Стани прослуховування\n * @enum {string}\n */\nexport enum EavesdropState {\n  Muted = 'muted', // Вимкнено звук\n  Conference = 'conference', // Конференція\n  Prompt = 'prompt', // Підказка\n}\n\n/**\n * Типи прослуховування\n * @enum {string}\n */\nexport enum EavesdropType {\n  Joined = 'joined', // Приєднано\n  Leave = 'leave', // Покинено\n  Hide = 'hide', // Приховано\n}\n/**\n * Інтерфейс для змінних дзвінка.\n * Ключі є ідентифікаторами змінних, а значення - рядками.\n * @interface\n */\nexport interface CallVariables {\n  [key: string]: string\n}\n\n/**\n * Інтерфейс для представлення інформації про дзвінок.\n * @interface\n */\nexport interface CallItem {\n  /** Унікальний ідентифікатор дзвінка. */\n  id: string\n  /** Ідентифікатор програми. */\n  app_id: string\n  /** Стан дзвінка. */\n  state: string\n  /** Час, коли дзвінок був створений. */\n  timestamp: number\n  /** Тип дзвінка. */\n  type: string\n  /** Ідентифікатор батьківського дзвінка. */\n  parent_id?: string\n  /** Розширення для дзвінка. */\n  extension?: string\n  /** Напрямок дзвінка. */\n  direction: string\n  /** Місце призначення дзвінка. */\n  destination: string\n  /** Вхідний параметр дзвінка. */\n  from: CallEndpoint\n  /** Вихідний параметр дзвінка. */\n  to?: CallEndpoint\n  /** Додаткові змінні дзвінка. */\n  variables: CallVariables\n\n  /** Час створення дзвінка. */\n  created_at: number\n  /** Час, коли дзвінок був відповіданий. */\n  answered_at?: number\n  /** Час, коли дзвінок був з'єднаний. */\n  bridged_at?: number\n  /** Час, коли дзвінок був завершений. */\n  hangup_at?: number\n\n  /** Тривалість дзвінка. */\n  duration: number\n  /** Час, проведений на утриманні. */\n  hold_sec: number\n  /** Час очікування дзвінка. */\n  wait_sec?: number\n  /** Час, за який був обрахований дзвінок. */\n  bill_sec?: number\n\n  /** Інформація про чергу. */\n  queue?: object\n\n  /** Час приєднання до черги. */\n  joined_at?: number\n  /** Час, коли дзвінок залишив чергу. */\n  leaving_at?: number\n  /** Час звітності. */\n  reporting_at?: number\n  /** Час з'єднання черги. */\n  queue_bridged_at?: number\n  /** Час очікування в черзі. */\n  queue_wait_sec?: number\n  /** Тривалість перебування в черзі. */\n  queue_duration_sec?: number\n  /** Час звітності. */\n  reporting_sec?: number\n  /** Час відображення. */\n  display?: number\n  /** Дані завдання. */\n  task?: TaskData\n  /** Ідентифікатор контакту. */\n  contact_id?: number\n  hide_number?: boolean\n  is_consult_to_queue?: boolean\n}\n\n/**\n * Інтерфейс для запиту виходу дзвінка.\n * @interface\n */\nexport interface OutboundCallRequest {\n  /** SDP для з'єднання. */\n  sdp?: string\n  /** Місце призначення дзвінка. */\n  destination?: string\n  /** Потік медіа. */\n  stream?: MediaStream\n  /** Додаткові параметри дзвінка. */\n  params?: CallParameters\n}\n\n/**\n * Інтерфейс для запиту прослуховування дзвінка.\n * @interface\n */\nexport interface EavesdropRequest {\n  /** Ідентифікатор дзвінка. */\n  id: string\n\n  /** Управлінські параметри прослуховування. */\n  control?: boolean\n  /** Слухати сторону A. */\n  listenA?: boolean\n  /** Слухати сторону B. */\n  listenB?: boolean\n  /** Шепотіти стороні A. */\n  whisperA?: boolean\n  /** Шепотіти стороні B. */\n  whisperB?: boolean\n  /** Група прослуховування. */\n  group?: string\n}\n\n/**\n * Інтерфейс для даних прослуховування.\n * @interface\n */\nexport interface EavesdropData {\n  /** Тип прослуховування. */\n  type: EavesdropType\n  /** Стан прослуховування. */\n  state: EavesdropState\n\n  /** Ім'я контакту. */\n  name?: string\n  /** Номер контакту. */\n  number?: string\n  /** Тривалість прослуховування. */\n  duration?: number\n}\n\n/**\n * Перерахування для дій дзвінка.\n * @enum {string}\n */\nexport enum CallActions {\n  /**\n   * Дзвінок у режимі дзвінка (ringing).\n   */\n  Ringing = 'ringing',\n\n  /**\n   * Дзвінок у активному стані (active).\n   */\n  Active = 'active',\n\n  /**\n   * Дзвінок у режимі мосту (bridge).\n   */\n  Bridge = 'bridge',\n  Progress = 'progress',\n\n  /**\n   * Дзвінок у режимі утримання (hold).\n   */\n  Hold = 'hold',\n\n  /**\n   * Дзвінок з DTMF (Dual-tone multi-frequency) сигналами.\n   */\n  DTMF = 'dtmf',\n\n  /**\n   * Голосовий дзвінок (voice).\n   */\n  Voice = 'voice',\n\n  /**\n   * Дзвінок у режимі тиші (silence).\n   */\n  Silence = 'silence',\n\n  /**\n   * Виконання програми або дії (execute).\n   */\n  Execute = 'execute',\n\n  /**\n   * Оновлення інформації про дзвінок (update).\n   */\n  Update = 'update',\n\n  /**\n   * Завершення дзвінка (hangup).\n   */\n  Hangup = 'hangup',\n\n  /**\n   * Перевірка стану дзвінка (heartbeat).\n   */\n  Heartbeat = 'heartbeat',\n\n  /**\n   * Надсилання звітності про дзвінок (reporting).\n   */\n  Reporting = 'reporting',\n\n  /**\n   * Надсилання потоків для співрозмовників (peerStream).\n   */\n  PeerStream = 'peerStream',\n\n  /**\n   * Надсилання локальних потоків (localStream).\n   */\n  LocalStream = 'localStream',\n\n  /**\n   * Знищення дзвінка (destroy).\n   */\n  Destroy = 'destroy',\n\n  /**\n   * Прослуховування дзвінка (eavesdrop).\n   */\n  Eavesdrop = 'eavesdrop',\n  Info = 'info',\n  Stats = 'stats',\n}\n\n/**\n * Перерахування для напрямку дзвінка.\n * @enum {string}\n */\nexport enum CallDirection {\n  /**\n   * Вхідний дзвінок.\n   */\n  Inbound = 'inbound',\n\n  /**\n   * Вихідний дзвінок.\n   */\n  Outbound = 'outbound',\n}\n\n/**\n * Інтерфейс для подій контактних даних.\n * @interface\n */\ninterface ContactDataEvent {\n  /** Ідентифікатор контакту. */\n  contact_id?: number\n  /** Вказує, чи ховати контакт. */\n  hide_contact?: boolean\n}\n\n/**\n * Інтерфейс для контактної інформації.\n * @interface\n */\ninterface Contact {\n  /** Ідентифікатор контакту або `null`. */\n  id: number | null\n  /** Вказує, чи потрібно ховати контакт. */\n  hide: boolean\n}\n\nexport interface RTPAggregate {\n  average: number\n  min: number\n  min_at: number\n  max: number\n  max_at: number\n}\n\nexport interface RtpMetrics {\n  mos: RTPAggregate\n  jitter: RTPAggregate\n  roundtrip: RTPAggregate\n  packetloss: RTPAggregate\n}\n\nexport interface CallMediaStats {\n  rtp: RtpMetrics\n}\n\n/**\n * Інтерфейс для запиту на відповідь дзвінка.\n * @interface\n */\nexport interface AnswerRequest {\n  /** Включити аудіо. */\n  audio?: boolean\n  /** Включити відео. */\n  video?: boolean\n  /** Включити екран. */\n  screen?: boolean\n  /** Вимкнути STUN. */\n  disableStun?: boolean\n}\n\n/**\n * Інтерфейс для даних події дзвінка.\n * @interface\n */\nexport interface CallEventData {\n  /** Ідентифікатор події. */\n  id: string\n  /** Ідентифікатор програми. */\n  app_id: string\n  /** Ідентифікатор CC програми. */\n  cc_app_id: string\n  /** Час події. */\n  timestamp: number\n  /** Тип події. */\n  event: string\n  /** Додаткові дані події. */\n  data?: object\n}\n\n/**\n * Інтерфейс для події виконання дзвінка.\n * @interface\n * @extends CallEventData\n */\nexport interface CallEventExecute extends CallEventData {\n  /** Назва програми. */\n  application: string\n}\n\n/**\n * Інтерфейс для події DTMF дзвінка.\n * @interface\n * @extends CallEventData\n */\nexport interface CallEventDTMF extends CallEventData {\n  /** DTMF цифра. */\n  digit: string\n}\n\n/**\n * Інтерфейс для події прослуховування дзвінка.\n * @interface\n * @extends CallEventData, EavesdropData\n */\nexport interface CallEventEavesdrop extends CallEventData, EavesdropData {}\n\n/**\n * Інтерфейс для параметрів кінцевих точок дзвінка.\n * @interface\n */\nexport interface CallEndpoint {\n  /** Тип кінцевої точки. */\n  type: string\n  /** Номер кінцевої точки. */\n  number?: string\n  /** Ідентифікатор кінцевої точки. */\n  id?: string\n  /** Назва кінцевої точки. */\n  name?: string\n}\n\ninterface VideoData {\n  video?: VideoMediaFlow\n  remote_video?: VideoMediaFlow\n}\n\n/**\n * Інтерфейс для події з'єднання дзвінків.\n * @interface\n * @extends CallEventData, ContactDataEvent\n */\nexport interface CallBridged\n  extends CallEventData,\n    ContactDataEvent,\n    VideoData {\n  /** Ідентифікатор з'єднаного дзвінка. */\n  bridged_id: string\n  /** Вихідний параметр кінцевої точки. */\n  to?: CallEndpoint\n  /** Параметри черги. */\n  queue?: QueueParameters\n  /** Додаткові дані. */\n  payload?: Map<string, string>\n}\n\n/**\n * Інтерфейс для інформації про дзвінок.\n * @interface\n * @extends CallEventData, ContactDataEvent\n */\nexport interface CallInfo extends CallEventData, ContactDataEvent, VideoData {\n  /** SIP-ідентифікатор. */\n  sip_id: string\n\n  /** Ідентифікатор батьківського дзвінка. */\n  parent_id?: string\n  /** Ідентифікатор користувача. */\n  user_id?: string\n  /** Напрямок дзвінка. */\n  direction: string\n  /** Місце призначення дзвінка. */\n  destination: string\n  /** Параметри черги. */\n  queue?: QueueParameters\n\n  /** Вхідний параметр кінцевої точки. */\n  from: CallEndpoint\n  /** Вихідний параметр кінцевої точки. */\n  to?: CallEndpoint\n\n  /** Додаткові дані дзвінка. */\n  payload: Map<string, string>\n\n  /** Параметри дзвінка. */\n  params?: CallParams\n  /** Дані прослуховування. */\n  eavesdrop?: EavesdropData\n  /** Вказує, чи дзвінок був ініційований. */\n  originate?: boolean\n\n  meeting_id?: string\n  hide_number?: boolean\n  is_consult_to_queue?: boolean\n}\n\n/**\n * Інтерфейс для події завершення дзвінка.\n * @interface\n */\nexport interface CallHangup extends CallEventData {\n  /** Причина завершення дзвінка. */\n  cause: string\n  /** SIP-код завершення. */\n  sip: number\n  /** Час звітності. */\n  reporting_at: number\n  /** Вказує, чи потрібно відправити повідомлення про завершення. */\n  notification_hangup?: boolean\n}\n\n/**\n * Інтерфейс для параметрів дзвінка.\n * @interface\n */\nexport interface CallParams {\n  /** Включити аудіо. */\n  audio?: boolean\n  /** Включити відео. */\n  video?: boolean\n  /** Включити екран. */\n  screen?: boolean\n  /** Автоматичний відповідь. */\n  autoAnswer?: boolean | string\n  /** Вимкнути STUN. */\n  disableStun?: boolean\n}\n\n/**\n * Інтерфейс для запиту інформації про учасників.\n * @interface\n */\nexport interface MemberInfoRequest {\n  /** Поля для отримання інформації. */\n  fields?: string[]\n}\n\n/**\n * Інтерфейс для подій дзвінків.\n * @interface\n */\nexport interface CallEvents {\n  /** Подія завершення дзвінка. */\n  hangup(): void\n}\n\nexport enum VideoMediaFlow {\n  SendRecv = 'sendrecv',\n  SendOnly = 'sendonly',\n  RecvOnly = 'recvonly',\n  Inactive = 'inactive',\n  Disabled = 'disabled',\n}\n\n/**\n * Клас Call: Описує властивості і методи для роботи з дзвінком,\n * включаючи інформацію про його стан, учасників, медіа потоки, та інші атрибути.\n *\n * Конструктор Call:\n *  client: Клієнт, що керує дзвінком.\n *  e: Дані події дзвінка, які використовуються для ініціалізації властивостей класу.\n * В конструкторі здійснюється ініціалізація всіх властивостей класу на основі переданих даних\n * події дзвінка (e). Значення за замовчуванням задаються для необов'язкових полів,\n * якщо вони не присутні в об'єкті e.\n */\nexport class Call {\n  data: any\n  id: string\n  appId: string\n  sipId!: string | null\n  state!: string\n  params!: CallParams\n\n  direction!: string\n  destination!: string\n\n  from!: CallEndpoint\n  to?: CallEndpoint\n\n  toNumber!: string\n  toName!: string\n  variables!: Map<string, string>\n\n  postProcessData!: object\n\n  peerStreams!: MediaStream[]\n  localStreams!: MediaStream[]\n  sip!: CallSession | null\n  screen!: string | null\n\n  createdAt: number\n  answeredAt: number\n  bridgedAt: number\n  hangupAt: number\n  reportingAt: number\n\n  hangupCause!: string\n  hangupSipCode!: number\n  notificationHangup: boolean\n  isConsultToQueue: boolean\n\n  parentId?: string\n  bridgedId!: string\n  queue!: QueueParameters | null\n\n  _muted!: boolean\n  _mutedVideo!: boolean\n  _recordFile: string | null\n  _recordCapture: StorageMediaCapture | null\n  _userId: number | null\n  meetingId: string | null\n  readonly hideNumber: boolean\n\n  digits!: string[]\n  applications!: string[]\n  voice: boolean\n  task: Task | null\n  autoAnswered: boolean\n  _eavesdrop: EavesdropData | null\n  _autoAnswerTimerId: any | null\n  _activeCounter: number\n  contact: Contact | null\n  originate: boolean\n  video: VideoMediaFlow | null\n  remoteVideo: VideoMediaFlow | null\n  conversation: Conversation | null\n\n  /**\n   * Конструктор класу Call.\n   * @param client - Клієнт, що керує дзвінком.\n   * @param e - Дані події дзвінка.\n   */\n  constructor(\n    protected client: Client,\n    e: CallEventData\n  ) {\n    // FIXME перевірити _muted з каналу\n    const callInfo = e.data as CallInfo\n    this._muted = false\n    this._mutedVideo = false\n    this.voice = true\n    this.createdAt = +e.timestamp\n    this.task = null\n    this.data = null\n    this._eavesdrop = null\n    this._autoAnswerTimerId = null\n    this._activeCounter = 0\n    this.contact = null\n    this.notificationHangup = false\n    this._recordFile = null\n    this._recordCapture = null\n    this._userId = client.sessionInfo().user_id // todo\n\n    this.answeredAt = 0\n    this.hangupAt = 0\n    this.bridgedAt = 0\n    this.reportingAt = 0\n    this.autoAnswered = false\n    this.meetingId = null\n    this.hideNumber = callInfo.hide_number === true\n\n    this.peerStreams = []\n    this.localStreams = []\n\n    if (callInfo.eavesdrop) {\n      this._eavesdrop = callInfo.eavesdrop\n    }\n\n    this.originate = callInfo.originate || false\n\n    // fixme\n    if (client.phone) {\n      if (callInfo.sip_id) {\n        this.setSip(client.phone.sipSessionBySipId(callInfo.sip_id))\n      } else {\n        this.setSip(client.phone.sipSessionByCallId(e.id))\n      }\n    }\n    this.conversation = null\n\n    if (callInfo.meeting_id) {\n      this.meetingId = callInfo.meeting_id\n    }\n\n    this.params = {}\n\n    this.id = e.id\n    this.digits = []\n    this.applications = []\n    this.appId = e.app_id\n    this.video = null\n    this.remoteVideo = null\n    this.setState(e)\n    this.setInfo(callInfo)\n    this.setVideo(callInfo as VideoData)\n    this.isConsultToQueue = callInfo.is_consult_to_queue === true\n\n    if (this.queue && this.client.agent) {\n      this.task = this.client.agent.task.get(+this.queue.attempt_id) || null\n    }\n  }\n\n  /**\n   * Встановлює стан дзвінка.\n   * @param s - Дані події дзвінка.\n   */\n  setState(s: CallEventData) {\n    this.state = s.event\n  }\n\n  /**\n   * Встановлює SIP-сесію.\n   * @param sip - SIP-сесія.\n   */\n  setSip(sip: CallSession | null) {\n    if (sip && !this.sip) {\n      this.sip = sip\n      this.localStreams = sip.getLocalMedia()\n      this.peerStreams = sip.getPeerMedia()\n    }\n  }\n\n  /**\n   * Перевіряє, чи є ручний розподіл.\n   * @returns Чи є ручний розподіл.\n   */\n  get manualDistribution() {\n    return this.queue && this.queue.manual_distribution === 'true'\n  }\n\n  /**\n   * Отримує тривалість дзвінка.\n   * @returns Тривалість дзвінка в секундах.\n   */\n  get duration() {\n    if (this.hangupAt === 0) {\n      return Math.round((Date.now() - this.createdAt) / 1000) // tslint:disable-line\n    } else {\n      return Math.round((this.hangupAt - this.createdAt) / 1000) // tslint:disable-line\n    }\n  }\n\n  /**\n   * Перевіряє, чи дозволено DTMF.\n   * @returns Чи дозволено DTMF.\n   */\n  get allowDtmf(): boolean {\n    return this.answeredAt > 0 && this.allowHangup\n  }\n\n  /**\n   * Перевіряє, чи дозволено Transfer.\n   * @returns Чи дозволено Transfer.\n   */\n  get allowTransfer(): boolean {\n    return !(this.answeredAt === 0 && this.queue) && this.allowHangup\n  }\n\n  /**\n   * Перевіряє, чи дозволено завершення дзвінка.\n   * @returns Чи дозволено завершення дзвінка.\n   */\n  get allowHangup() {\n    return this.hangupAt === 0\n  }\n\n  /**\n   * Перевіряє, чи дозволено утримання дзвінка.\n   * @returns Чи дозволено утримання дзвінка.\n   */\n  get allowHold() {\n    return (\n      this.hangupAt === 0 &&\n      (this.state === 'active' || this.state === 'bridge')\n    )\n  }\n\n  /**\n   * Перевіряє, чи дозволено відповісти на дзвінок.\n   * @returns Чи дозволено відповісти на дзвінок.\n   */\n  get allowAnswer() {\n    return (\n      this.client.phone &&\n      this.hangupAt === 0 &&\n      this.answeredAt === 0 &&\n      !!(this.queue || this.direction === CallDirection.Inbound || this.params)\n    )\n  }\n\n  /**\n   * Перевіряє, чи дозволено зняти утримання.\n   * @returns Чи дозволено зняти утримання.\n   */\n  get allowUnHold() {\n    return this.hangupAt === 0 && this.state === 'hold'\n  }\n\n  /**\n   * Отримує комунікацію учасника.\n   * @returns Комунікація учасника або null.\n   */\n  get memberCommunication(): MemberCommunication | null {\n    if (!this.task) {\n      return null\n    } else {\n      return this.task.communication\n    }\n  }\n\n  /**\n   * Перевіряє, чи є прослуховування.\n   * @returns Чи є прослуховування.\n   */\n  get isEavesdrop() {\n    return !!this._eavesdrop\n  }\n\n  /**\n   * Отримує ім'я прослуховування.\n   * @returns Ім'я прослуховування.\n   */\n  get eavesdropName() {\n    return this.isEavesdrop ? this._eavesdrop!.name : ''\n  }\n\n  /**\n   * Отримує номер прослуховування.\n   * @returns Номер прослуховування.\n   */\n  get eavesdropNumber() {\n    return this.isEavesdrop ? this._eavesdrop!.number : ''\n  }\n\n  /**\n   * Отримує тривалість прослуховування.\n   * @returns Тривалість прослуховування.\n   */\n  get eavesdropDuration() {\n    return this.isEavesdrop ? this._eavesdrop!.duration : 0\n  }\n\n  /**\n   * Отримує стан прослуховування.\n   * @returns Стан прослуховування або null.\n   */\n  get eavesdropState() {\n    return this.isEavesdrop ? this._eavesdrop!.state : null\n  }\n\n  /**\n   * Перевіряє, чи прослуховування в режимі мовчання.\n   * @returns Чи прослуховування в режимі мовчання.\n   */\n  get eavesdropIsMuted() {\n    return this.eavesdropState === EavesdropState.Muted\n  }\n\n  /**\n   * Перевіряє, чи прослуховування є конференцією.\n   * @returns Чи прослуховування є конференцією.\n   */\n  get eavesdropIsConference() {\n    return this.eavesdropState === EavesdropState.Conference\n  }\n\n  /**\n   * Перевіряє, чи прослуховування є запитом.\n   * @returns Чи прослуховування є запитом.\n   */\n  get eavesdropIsPrompt() {\n    return this.eavesdropState === EavesdropState.Prompt\n  }\n\n  /**\n   * Отримує ідентифікатор контакту.\n   * @returns Ідентифікатор контакту або null.\n   */\n  get contactId() {\n    return this.contact?.id || null\n  }\n\n  /**\n   * Перевіряє, чи контакт потрібно приховати.\n   * @returns Чи контакт потрібно приховати.\n   */\n  get hideContact() {\n    return this.contact?.hide\n  }\n\n  /**\n   * Отримує інформацію про учасника.\n   * @param req - Запит інформації про учасника.\n   * @returns Інформація про учасника.\n   * @throws Помилка, якщо дзвінок не з виходу черги.\n   */\n  // todo\n  async getMember(_req: MemberInfoRequest) {\n    if (!this.isMember) {\n      throw new Error(`call is not from outbound queue`)\n    }\n\n    return this.client.request(`cc_member_page`, {\n      queue_id: this.task!.queueId,\n      member_id: this.task!.memberId,\n    })\n  }\n\n  /**\n   * Перевіряє, чи дзвінок є учасником.\n   * @returns Чи дзвінок є учасником.\n   */\n  get isMember(): boolean {\n    return !!this.task?.isMember\n  }\n\n  /**\n   * Перевіряє, чи перший активний дзвінок.\n   * @returns Чи перший активний дзвінок.\n   */\n  get firstActive() {\n    return this._activeCounter === 1\n  }\n\n  get recordings() {\n    return !!this._recordFile\n  }\n\n  get allowRecordings() {\n    return !this._recordFile && this.talking\n  }\n\n  get talking() {\n    return this.answeredAt > 0 && !this.hangupAt\n  }\n\n  get hasVideo() {\n    return this.remoteVideo === VideoMediaFlow.SendRecv\n  }\n\n  /**\n   * Встановлює активність дзвінка.\n   * @param e - Дані події дзвінка.\n   */\n  setActive(e: CallEventData) {\n    this._activeCounter++\n    if (this._autoAnswerTimerId) {\n      clearTimeout(this._autoAnswerTimerId)\n      this._autoAnswerTimerId = null\n    }\n    if (!this.answeredAt) {\n      if (this.direction === CallDirection.Inbound) {\n        this.bridgedAt = +e.timestamp\n        if (this.parentId) {\n          this.bridgedId = this.parentId\n        }\n      }\n      this.answeredAt = +e.timestamp\n    }\n\n    const isHold = this.isHold || this.firstActive\n\n    this.setState(e)\n    this.setVideo(e.data as VideoData)\n    if (isHold && this.direction === CallDirection.Inbound) {\n      this.trySendInfo(this.firstActive)\n    }\n  }\n\n  /**\n   * Встановлює інформацію про мосту.\n   * @param s - Дані події мосту.\n   */\n  setBridged(s: CallEventData) {\n    const bridged = s.data as CallBridged\n    if (!this.bridgedAt) {\n      this.bridgedAt = +s.timestamp\n    }\n\n    this.bridgedId = bridged.bridged_id\n    if (bridged.to) {\n      if (this.direction === CallDirection.Inbound) {\n        this.from = bridged.to\n      } else {\n        this.to = bridged.to\n      }\n    }\n\n    this.bridgedId = bridged.bridged_id\n    if (bridged.payload) {\n      this.variables = bridged.payload\n    }\n\n    if (bridged.queue) {\n      this.queue = bridged.queue\n    }\n\n    this.setContactData(bridged)\n    this.setVideo(bridged)\n  }\n\n  /**\n   * Встановлює інформацію про утримання.\n   * @param e - Дані події утримання.\n   */\n  setHold(e: CallEventData) {\n    this.setState(e)\n    this.trySendInfo()\n  }\n\n  /**\n   * Встановлює ідентифікатор контакту.\n   * @param id - Ідентифікатор контакту.\n   */\n  setContactId(id: number) {\n    if (!this.contact) {\n      this.contact = {\n        hide: false,\n        id,\n      }\n    } else {\n      this.contact.id = id\n    }\n  }\n\n  /**\n   * Встановлює інформацію про дзвінок.\n   * @param s - Інформація про дзвінок.\n   */\n  setInfo(s: CallInfo) {\n    this.parentId = s.parent_id\n    this.destination = s.destination\n    this.direction = s.direction\n\n    this.from = s.from\n    this.to = s.to\n    this.variables = s.payload\n    this.queue = s.queue || null\n\n    this.sipId = s.sip_id || null\n    this.params = s.params as CallParams\n\n    this.setContactData(s)\n  }\n\n  /**\n   * Встановлює потоки для співрозмовників.\n   * @param streams - Потоки для співрозмовників.\n   */\n  setPeerStreams(streams: MediaStream[] | null) {\n    if (!streams) {\n      this.peerStreams = []\n    } else {\n      this.peerStreams = streams\n    }\n  }\n\n  /**\n   * Встановлює локальні потоки.\n   * @param streams - Локальні потоки.\n   */\n  setLocalStreams(streams: MediaStream[] | null) {\n    if (!streams) {\n      this.localStreams = []\n    } else {\n      this.localStreams = streams\n    }\n  }\n\n  /**\n   * Увімкнути голос.\n   */\n  setVoice() {\n    this.voice = true\n  }\n\n  /**\n   * Вимкнути голос.\n   */\n  setSilence() {\n    this.voice = false\n  }\n\n  /**\n   * Додає виконання програми.\n   * @param s - Дані події виконання.\n   */\n  setExecute(s: CallEventExecute) {\n    this.applications.push(s.application)\n  }\n\n  /**\n   * Додає DTMF.\n   * @param s - Дані події DTMF.\n   */\n  addDigit(s: CallEventDTMF) {\n    this.digits.push(s.digit)\n  }\n\n  /**\n   * Встановлює стан прослуховування.\n   * @param e - Дані події прослуховування.\n   */\n  setEavesdropState(e: CallEventEavesdrop) {\n    if (e.type === EavesdropType.Joined) {\n      this._eavesdrop = e\n    } else if (e.type === EavesdropType.Leave) {\n      this._eavesdrop = null\n    } else {\n      this._eavesdrop!.state = e.state\n    }\n  }\n\n  /**\n   * Встановлює інформацію про завершення дзвінка.\n   * @param s - Дані події завершення дзвінка.\n   */\n  setHangup(s: CallEventData) {\n    const hangup = s.data as CallHangup\n    this.hangupAt = +s.timestamp\n    this.hangupCause = hangup.cause\n    this.hangupSipCode = hangup.sip\n    this.notificationHangup = hangup.notification_hangup || false\n    this.voice = false\n    this.peerStreams = []\n    if (+hangup.reporting_at) {\n      this.reportingAt = +hangup.reporting_at // FIXME тип number\n    }\n\n    if (this._recordFile) {\n      this.stopRecord()\n    }\n\n    this.setState(s)\n  }\n\n  /**\n   * Перевіряє, чи дозволена звітність.\n   * @returns Чи дозволена звітність.\n   */\n  get allowReporting(): boolean {\n    const autoAnswer = this.params?.autoAnswer\n    const isAutoAnswerTrue = autoAnswer === true || autoAnswer === 'true'\n\n    return this.hasReporting && (this.answeredAt > 0 || isAutoAnswerTrue)\n  }\n\n  /**\n   * Перевіряє, чи є звітність.\n   * @returns Чи є звітність.\n   */\n  get hasReporting() {\n    if (this.task) {\n      return this.task.hasReporting\n    }\n\n    return false\n  }\n\n  /**\n   * Отримує відображення дзвінка.\n   * @returns Відображення дзвінка.\n   */\n  get display() {\n    return `${this.displayNumber} (${this.displayName})`\n  }\n\n  /**\n   * Перевіряє, чи вимкнений звук.\n   * @returns Чи вимкнений звук.\n   */\n  get muted() {\n    return this._muted\n  }\n\n  /**\n   * Перевіряє, чи дзвінок перебуває в режимі утримання.\n   * @returns Чи дзвінок перебуває в режимі утримання.\n   */\n  get isHold(): boolean {\n    return this.state === CallActions.Hold\n  }\n\n  /**\n   * Перевіряє, чи дозволено відео для вхідних дзвінків.\n   * @returns Чи дозволено відео для вхідних дзвінків.\n   */\n  get allowInboundVideo(): boolean {\n    if (this.params) {\n      return this.params.video || false\n    }\n\n    return false\n  }\n\n  /**\n   * Перевіряє, чи дозволено відео для вихідних дзвінків.\n   * @returns Чи дозволено відео для вихідних дзвінків.\n   */\n  get allowOutboundVideo(): boolean {\n    if (this.params) {\n      return this.params.video || false\n    }\n\n    return false\n  }\n\n  /**\n   * Перевіряє, чи дзвінок активний.\n   * @returns Чи дзвінок активний.\n   */\n  get active(): boolean {\n    return this.hangupAt === 0\n  }\n\n  /**\n   * Отримує номер для відображення.\n   * @returns Номер для відображення.\n   */\n  get displayNumber() {\n    if (this.direction === 'inbound') {\n      return this.from.number\n    } else {\n      if (this.to) {\n        return this.to.number\n      }\n\n      return this.destination\n    }\n  }\n\n  get _displayNameValue() {\n    if (this.direction === 'inbound') {\n      return this.from.name\n    } else {\n      if (this.to) {\n        return this.to.name\n      }\n\n      return this.destination\n    }\n  }\n\n  /**\n   * Отримує ім'я для відображення.\n   * @returns Ім'я для відображення.\n   */\n  get displayName() {\n    const name = this._displayNameValue\n    // todo, bug fs\n    if (name === 'Outbound Call' || name === this.displayNumber) {\n      return ''\n    }\n\n    return name\n  }\n\n  /**\n   * Перевіряє, чи дозволено автоматичне відповідання.\n   * @returns Чи дозволено автоматичне відповідання.\n   */\n  get autoAnswer() {\n    return (\n      (this.queue && this.queue.queue_type === 'offline') ||\n      this.autoAnswerDelay > 0\n    )\n  }\n\n  /**\n   * Отримує затримку автоматичного відповідання.\n   * @returns Затримка автоматичного відповідання.\n   */\n  get autoAnswerDelay() {\n    if (!this.params?.autoAnswer || `${this.params.autoAnswer}` === 'false') {\n      return 0\n    } else if (Number.isFinite(+this.params.autoAnswer)) {\n      return +this.params.autoAnswer\n    }\n\n    return this.client.autoAnswerDelayTime\n  }\n\n  // todo task is deprecated\n  /**\n   * Отримує спробу.\n   * @returns Спроба.\n   */\n  get attempt() {\n    return this.task\n  }\n\n  /* Call control */\n  /**\n   * Відповідає на дзвінок.\n   * @param req - Запит на відповідання.\n   * @returns Чи успішно відповіли.\n   */\n  async answer(req: AnswerRequest) {\n    if (this.sip && this.client.phone) {\n      try {\n        const params = await this.client.phone.callOption(req)\n        await this.sip.answer(params)\n      } catch (e) {\n        this.client.handleError(e as Error)\n      }\n\n      return true\n    }\n\n    return false\n  }\n\n  /**\n   * Затримка автоматичного відповідання.\n   * @param req - Запит на відповідання.\n   */\n  answerDelay(req: AnswerRequest) {\n    if (this.autoAnswered) {\n      return\n    }\n\n    if (this._autoAnswerTimerId) {\n      clearTimeout(this._autoAnswerTimerId)\n    }\n\n    this._autoAnswerTimerId = setTimeout(async () => {\n      if (this.autoAnswered) {\n        return\n      }\n      this.autoAnswered = true\n      this.autoAnswered = await this.answer(req)\n    }, this.autoAnswerDelay)\n  }\n\n  /**\n   * Завершує дзвінок.\n   * @param cause - Причина завершення.\n   * @returns Результат завершення дзвінка.\n   */\n  async hangup(cause?: string) {\n    let _cause = cause\n    if (this.answeredAt === 0 && !cause) {\n      _cause =\n        this.direction === CallDirection.Inbound\n          ? 'USER_BUSY'\n          : 'ORIGINATOR_CANCEL'\n    }\n\n    return this.client.request('call_hangup', {\n      id: this.id,\n      app_id: this.appId,\n      cause: _cause,\n    })\n  }\n\n  /**\n   * Запускає прослуховування дзвінка.\n   * @param req - Запит на прослуховування.\n   * @returns Результат прослуховування.\n   */\n  async eavesdrop(req: EavesdropRequest) {\n    req.id = this.id\n\n    return this.client.request('call_eavesdrop', req)\n  }\n\n  /**\n   * Змінює стан прослуховування.\n   * @param state - Новий стан прослуховування.\n   * @returns Результат зміни стану прослуховування.\n   */\n  async changeEavesdropState(state: EavesdropState) {\n    if (!this.isEavesdrop) {\n      throw new Error(`this call not in eavesdrop`)\n    }\n\n    if (this.eavesdropState === state) {\n      throw new Error(`this call already eavesdrop state: ${state}`)\n    }\n\n    return this.client.request('call_eavesdrop_state', {\n      id: this.id,\n      state,\n    })\n  }\n\n  /**\n   * Перемикає утримання дзвінка.\n   * @returns Результат утримання дзвінка.\n   */\n  async toggleHold() {\n    if (this.state === CallActions.Hold) {\n      return this.unHold()\n    } else {\n      return this.hold()\n    }\n  }\n\n  /**\n   * Утримує дзвінок.\n   * @returns Результат утримання дзвінка.\n   */\n  async hold() {\n    if (this.state === CallActions.Hold) {\n      throw new Error('Call is hold')\n    }\n\n    return this.client.request('call_hold', {\n      id: this.id,\n      app_id: this.appId,\n    })\n  }\n\n  /**\n   * Виймає дзвінок з утримання.\n   * @returns Результат виймання дзвінка з утримання.\n   */\n  async unHold() {\n    if (this.state !== CallActions.Hold) {\n      throw new Error('Call is active')\n    }\n\n    return this.client.request('call_unhold', {\n      id: this.id,\n      app_id: this.appId,\n    })\n  }\n\n  /**\n   * Надсилає DTMF.\n   * @param dtmf - DTMF.\n   * @returns Результат надсилання DTMF.\n   */\n  async sendDTMF(dtmf: string) {\n    return this.client.request('call_dtmf', {\n      id: this.id,\n      app_id: this.appId,\n      dtmf,\n    })\n  }\n\n  /**\n   * Виконує сліпий переказ дзвінка.\n   * @param destination - Місце призначення.\n   * @param variables - Змінні.\n   * @returns Результат переказу.\n   */\n  async blindTransfer(destination: string, variables?: object) {\n    if (variables) {\n      return this.client.request('call_blind_transfer_ext', {\n        id: this.id,\n        app_id: this.appId,\n        destination,\n        variables,\n      })\n    }\n\n    // todo deprecated\n    return this.client.request('call_blind_transfer', {\n      id: this.id,\n      app_id: this.appId,\n      destination,\n    })\n  }\n\n  /**\n   * Вимикає або включає мікрофон.\n   * @param mute - Якщо true, вимикає мікрофон; якщо false, включає мікрофон.\n   * @returns Результат вимикання або включення мікрофона.\n   */\n  async mute(mute = false) {\n    const res = await this.client.request('call_mute', {\n      id: this.id,\n      app_id: this.appId,\n      mute,\n    })\n    this._muted = mute\n    this.trySendInfo()\n\n    return res\n  }\n\n  /*\n  TODO\n   */\n  async muteVideo(mute = true) {\n    let changed = false\n    ;(this.localStreams || []).forEach((localStream) => {\n      localStream.getVideoTracks().forEach((track) => {\n        if (track.enabled !== !mute) {\n          changed = true\n          track.enabled = !mute\n        }\n        this._mutedVideo = mute\n      })\n    })\n\n    if (changed) {\n      this.trySendInfo()\n    }\n  }\n\n  trySendInfo(syncRequested?: boolean) {\n    if (this.sip?.setMediaConfig) {\n      const req = {\n        videoMuted: this.mutedVideo,\n        audioMuted: this.muted,\n        hold: this.isHold,\n      } as MediaConfig\n\n      if (syncRequested) {\n        req.syncRequested = true\n      }\n\n      this.sip.setMediaConfig(req)\n    }\n  }\n\n  get mutedVideo() {\n    return this._mutedVideo\n  }\n\n  get remoteVideoMuted() {\n    return this.sip && !!this.sip.remoteVideoMuted\n  }\n\n  get remoteAudioMuted() {\n    return this.sip && !!this.sip.remoteAudioMuted\n  }\n\n  get remoteHold() {\n    return this.sip && !!this.sip.remoteHold\n  }\n\n  get allowRecordCall() {\n    return this.talking\n  }\n\n  /**\n   * Створює міст між дзвінками.\n   * @param call - Дзвінок, з яким створюється міст.\n   * @param variables - Змінні.\n   * @returns Результат створення мосту.\n   */\n  async bridgeTo(call: Call, variables?: object) {\n    if (this.task) {\n      await this.task.saveForm(null, null)\n    }\n    if (call.task) {\n      await call.task.saveForm(null, null)\n    }\n\n    return this.client.request('call_bridge', {\n      from_id: this.id,\n      from_app_id: this.appId,\n      to_id: call.id,\n      to_app_id: call.appId,\n      variables,\n    })\n  }\n\n  /**\n   * Надсилає звітність про дзвінок.\n   * @param reporting - Дані звітності.\n   * @returns Результат надсилання звітності.\n   */\n  async reporting(reporting: Reporting) {\n    if (!this.task) {\n      throw new Error(`this call not in queue`)\n    }\n\n    return this.task.reporting(reporting)\n  }\n\n  /**\n   * Оновлює розмову.\n   * @param sec - Кількість секунд.\n   * @returns Результат оновлення розмови.\n   */\n  async renew(sec?: number) {\n    if (!this.task) {\n      throw new Error(`this conversation not in queue`)\n    }\n\n    return this.task.renew(sec)\n  }\n\n  /**\n   * Робить запрошення користувача.\n   * @param req - Запит на запрошення.\n   * @returns Результат запрошення.\n   */\n  async callToUser(req: UserCallRequest) {\n    req.nodeId = this.appId\n    req.parentCallId = this.id || null\n    req.sendToCallId = this.parentId || null\n\n    return this.client.inviteToUser(req)\n  }\n\n  /**\n   * Встановлює контакт для дзвінка.\n   * @param contactId - Ідентифікатор контакту.\n   * @returns Результат встановлення контакту.\n   */\n  async setContact(contactId: number) {\n    return this.client.request(`call_set_contact`, {\n      id: this.id,\n      contact_id: contactId,\n    })\n  }\n\n  async processTransferAgent(agentId: number, params: CallParams) {\n    return this.client.request(`call_to_queue`, {\n      parent_id: this.id,\n      agent_id: agentId,\n      params,\n    })\n  }\n\n  async processTransferQueue(queueId: number, params: CallParams) {\n    return this.client.request(`call_to_queue`, {\n      parent_id: this.id,\n      queue_id: queueId,\n      params,\n    })\n  }\n\n  async blindTransferQueue(queueId: number) {\n    return this.client.request(`call_bt_queue`, {\n      id: this.id,\n      queue_id: queueId,\n    })\n  }\n\n  async startRecordNative(name?: string) {\n    let fileName = name\n    let ext = 'mp3'\n\n    if (this._recordFile) {\n      throw new Error('Call already recording')\n    }\n\n    if (this.hasVideo) {\n      ext = 'mp4'\n    }\n\n    if (!fileName) {\n      fileName = `recording_vc_${\n        this._userId\n      }_${generateTimestampFilename()}.${ext}`\n    }\n\n    await this.client.request('call_start_rec', {\n      id: this.parentId || this.id,\n      name: fileName,\n      video: this.video === VideoMediaFlow.SendRecv,\n    })\n\n    this._recordFile = fileName\n  }\n\n  async stopRecordNative() {\n    if (!this._recordFile) {\n      throw new Error('Call not recording')\n    }\n\n    await this.client.request('call_stop_rec', {\n      id: this.parentId || this.id,\n      name: this._recordFile,\n      video: this.video === VideoMediaFlow.SendRecv,\n    })\n\n    this._recordFile = null\n  }\n\n  async startRecord(name: string) {\n    let fileName = name\n    let ext = 'mp3'\n\n    if (!this.peerStreams.length) {\n      return\n    }\n\n    if (this.hasVideo) {\n      ext = 'mp4'\n    }\n\n    if (!fileName) {\n      fileName = `recording_vc_${\n        this._userId\n      }_${generateTimestampFilename()}.${ext}`\n    }\n\n    const media: MediaStream[] = []\n    this.peerStreams.forEach((stream: MediaStream) => {\n      media.push(stream.clone())\n    })\n\n    this.localStreams.forEach((stream: MediaStream) => {\n      media.push(stream.clone())\n    })\n\n    try {\n      const capture = new StorageMediaCapture(\n        this.parentId || this.id,\n        fileName,\n        media,\n        [],\n        this.client.basePath,\n        this.client.sessionInfo().token\n      )\n      // TODO\n      capture.on('close', () => {\n        this._recordFile = null\n        this._recordCapture = null\n      })\n      await capture.cast()\n      this._recordCapture = capture\n      this._recordFile = fileName\n    } catch (e) {\n      media.length = 0 // TODO\n      throw e\n    }\n  }\n\n  stopRecord() {\n    if (!this._recordFile) {\n      throw new Error('Call not recording')\n    }\n\n    if (this._recordCapture) {\n      this._recordCapture.close()\n    }\n\n    this._recordFile = null\n    this._recordCapture = null\n  }\n\n  async screenshot(name: string) {\n    if (this.peerStreams.length) {\n      const imgTrack = this.peerStreams[0].getVideoTracks()[0]\n      if (!imgTrack) {\n        throw new Error('No video')\n      }\n\n      let fileName = name\n      if (!fileName) {\n        fileName = `screenshot_vc_${\n          this._userId\n        }_${generateTimestampFilename()}.png`\n      }\n\n      return sendWebRTCFrame(\n        this.peerStreams[0].clone(),\n        fileName,\n        this.client.basePath,\n        this.parentId || this.id,\n        this.client.sessionInfo().token\n      )\n    }\n  }\n\n  /**\n   * Встановлює дані контакту.\n   * @param e - Дані події контакту.\n   */\n  private setContactData(e: ContactDataEvent) {\n    this.contact = {\n      id: e.contact_id || null,\n      hide: e.hide_contact || false,\n    }\n  }\n\n  private setVideo(s: VideoData) {\n    if (!s) {\n      return\n    }\n    this.video = s.video || null\n    if (this.meetingId) {\n      this.remoteVideo = VideoMediaFlow.SendRecv // TODO, park variable\n    } else {\n      this.remoteVideo = s.remote_video || VideoMediaFlow.Inactive\n    }\n  }\n}\n","import type { CallVariables } from './call'\nimport type { Client, FileUploadProgress } from './client'\nimport type { Reporting, Task, TaskData } from './task'\nimport { chunkString } from './utils'\n\nconst maxSizeMessage = 4096\n\n/**\n * Перелік причин відмови.\n */\nexport enum DeclineCause {\n  Timeout = 'TIMEOUT',\n  Busy = 'BUSY',\n  Cancel = 'CANCEL',\n  Transfer = 'TRANSFER',\n}\n\n/**\n * Перелік дій чату.\n */\nexport enum ChatActions {\n  Message = 'message',\n  UserInvite = 'user_invite',\n  Invite = 'invite_conversation', // коли запрошують в групу нового учасника\n  Joined = 'join_conversation',\n\n  Close = 'close_conversation',\n  Leave = 'leave_conversation',\n  Decline = 'decline_invite',\n  Update = 'update_channel',\n  Destroy = 'destroy',\n  MessageDeleted = 'message_deleted',\n}\n\n/**\n * Перелік станів розмови.\n */\nexport enum ConversationState {\n  Init = 'init',\n  Invite = 'invite',\n  Active = 'active',\n  Pending = 'pending',\n  Closed = 'closed',\n}\n\n/**\n * Подія чату.\n */\nexport interface ChatEvent {\n  /**\n   * Дія, що викликала подію.\n   * @type {string}\n   */\n  action: string\n\n  /**\n   * Дані події.\n   * @type {object}\n   */\n  data?: object\n}\n\n/**\n * Базовий інтерфейс події чату.\n */\nexport interface BaseChatEvent {\n  /**\n   * Ідентифікатор розмови.\n   * @type {string}\n   */\n  conversation_id: string\n\n  /**\n   * Час події (Unix timestamp).\n   * @type {number}\n   */\n  timestamp: number\n}\n\n/**\n * Подія запрошення до чату.\n */\nexport interface InviteEvent extends BaseChatEvent {\n  /**\n   * Ідентифікатор запрошення.\n   * @type {string}\n   */\n  invite_id: string\n\n  /**\n   * Назва розмови.\n   * @type {string}\n   */\n  title: string\n\n  /**\n   * Члени чату.\n   * @type {ChatChannel[]}\n   */\n  members: ChatChannel[]\n\n  /**\n   * Повідомлення в чаті.\n   * @type {Message[]}\n   */\n  messages: Message[]\n\n  /**\n   * Інформація про розмову.\n   * @type {ConversationInfo}\n   */\n  conversation: ConversationInfo\n\n  /**\n   * Змінні виклику.\n   * @type {CallVariables}\n   */\n  variables?: CallVariables\n}\n\n/**\n * Подія приєднання до чату.\n */\nexport interface JoinedEvent extends BaseChatEvent {\n  /**\n   * Член чату, що приєднався.\n   * @type {ChatChannel}\n   */\n  member: ChatChannel\n}\n\n/**\n * Подія повідомлення в чаті.\n */\nexport interface MessageEvent extends BaseChatEvent, Message {}\n\n/**\n * Подія виходу з чату.\n */\nexport interface LeavedEvent extends BaseChatEvent {\n  /**\n   * Ідентифікатор чату, з якого вийшли.\n   * @type {string}\n   */\n  leaved_channel_id: string\n\n  /**\n   * Причина виходу.\n   * @type {DeclineCause | null}\n   */\n  cause?: DeclineCause | null\n}\n\n/**\n * Подія закриття чату.\n */\nexport interface CloseEvent extends BaseChatEvent {\n  /**\n   * Ідентифікатор каналу, з якого закрито розмову.\n   * @type {string}\n   */\n  from_channel_id: string\n\n  /**\n   * Причина закриття.\n   * @type {string}\n   */\n  cause: string\n}\n\n/**\n * Подія відмови від запрошення.\n */\nexport interface DeclineInviteEvent extends BaseChatEvent {\n  /**\n   * Ідентифікатор користувача, який відмовився.\n   * @type {number}\n   */\n  user_id: number\n\n  /**\n   * Ідентифікатор запрошення.\n   * @type {string}\n   */\n  invite_id: string\n\n  /**\n   * Причина відмови.\n   * @type {DeclineCause | null}\n   */\n  cause?: DeclineCause | null\n}\n\n/**\n * Подія оновлення каналу.\n */\nexport interface UpdateChannelEvent extends BaseChatEvent {\n  /**\n   * Ідентифікатор каналу.\n   * @type {string}\n   */\n  channel_id: string\n\n  /**\n   * Час оновлення.\n   * @type {number}\n   */\n  updated_at: number\n}\n\n/**\n * Інтерфейс для повідомлення в чаті.\n */\nexport interface Message {\n  /**\n   * Ідентифікатор повідомлення.\n   * @type {number}\n   */\n  id: number\n\n  /**\n   * Ідентифікатор каналу.\n   * @type {string}\n   */\n  channel_id: string\n\n  /**\n   * Тип повідомлення.\n   * @type {string}\n   */\n  type: string\n\n  /**\n   * Текст повідомлення.\n   * @type {string}\n   */\n  text: string\n\n  /**\n   * Файл, прикріплений до повідомлення.\n   * @type {MessageFile}\n   */\n  file?: MessageFile\n\n  /**\n   * Контактна інформація.\n   * @type {object}\n   */\n  contact?: object\n\n  /**\n   * Час створення.\n   * @type {number}\n   */\n  created_at: number\n\n  /**\n   * Час оновлення.\n   * @type {number | null}\n   */\n  updated_at?: number | null\n\n  conversation?: string\n\n  variables?: object | null\n}\n\n/**\n * Інтерфейс для видаленого повідомлення.\n */\nexport interface MessageDeleted {\n  /**\n   * Ідентифікатор повідомлення.\n   * @type {number}\n   */\n  id: number\n\n  /**\n   * Ідентифікатор каналу.\n   * @type {string}\n   */\n  channel_id: string\n\n  /**\n   * Ідентифікатор розмови.\n   * @type {string}\n   */\n  conversation_id: string\n\n  /**\n   * Тип повідомлення.\n   * @type {string}\n   */\n  type: string\n\n  /**\n   * Текст повідомлення.\n   * @type {string}\n   */\n  text: string\n\n  /**\n   * Час повідомлення.\n   * @type {number}\n   */\n  timestamp: number\n\n  /**\n   * Час створення.\n   * @type {number | undefined}\n   */\n  created_at?: number\n}\n\n/**\n * Інтерфейс для інформації про канал чату.\n */\nexport interface ChatChannel {\n  /**\n   * Ідентифікатор каналу.\n   * @type {string | undefined}\n   */\n  id?: string\n\n  /**\n   * Назва каналу.\n   * @type {string | undefined}\n   */\n  name?: string\n\n  /**\n   * Тип каналу.\n   * @type {string | undefined}\n   */\n  type?: string\n\n  /**\n   * Месенджер каналу.\n   * @type {string | undefined}\n   */\n  messenger?: string\n\n  /**\n   * Чи є це самостійний користувач.\n   * @type {boolean | undefined}\n   */\n  self?: boolean\n}\n\n/**\n * Інтерфейс для файлу повідомлення.\n */\nexport interface MessageFile {\n  /**\n   * Ідентифікатор файлу.\n   * @type {number}\n   */\n  id: number\n\n  /**\n   * Назва файлу.\n   * @type {string}\n   */\n  name: string\n\n  /**\n   * MIME-тип файлу.\n   * @type {string}\n   */\n  mime: string\n\n  /**\n   * Розмір файлу.\n   * @type {number}\n   */\n  size: number\n\n  /**\n   * URL для завантаження файлу.\n   * @type {string}\n   */\n  url: string\n\n  /**\n   * URL для потокового доступу до файлу.\n   * @type {string}\n   */\n  streamUrl: string\n}\n\n/**\n * Інтерфейс для повідомлення з інформацією про канал.\n */\nexport interface MessageWithChannel {\n  /**\n   * Ідентифікатор повідомлення.\n   * @type {number}\n   */\n  id: number\n\n  /**\n   * Ідентифікатор каналу.\n   * @type {string}\n   */\n  channelId: string\n\n  /**\n   * Тип повідомлення.\n   * @type {string}\n   */\n  type: string\n\n  /**\n   * Файл, прикріплений до повідомлення.\n   * @type {MessageFile}\n   */\n  file?: MessageFile\n\n  /**\n   * Текст повідомлення.\n   * @type {string | undefined}\n   */\n  text?: string\n\n  /**\n   * Контактна інформація.\n   * @type {object | null}\n   */\n  contact?: object | null\n\n  /**\n   * Час створення.\n   * @type {number}\n   */\n  createdAt: number\n\n  /**\n   * Час оновлення.\n   * @type {number}\n   */\n  updatedAt: number\n\n  /**\n   * Член чату, який відправив повідомлення.\n   * @type {ChatChannel | null}\n   */\n  member: ChatChannel | null\n\n  variables?: object | null\n}\n\n/**\n * Інтерфейс для інформації про розмову.\n */\nexport interface ConversationInfo {\n  /**\n   * Ідентифікатор розмови.\n   * @type {string}\n   */\n  id: string\n\n  /**\n   * Назва розмови.\n   * @type {string}\n   */\n  title: string\n\n  /**\n   * Час створення.\n   * @type {number}\n   */\n  created_at: number\n\n  /**\n   * Час оновлення.\n   * @type {number | null}\n   */\n  updated_at: number | null\n}\n\n/**\n * Інтерфейс для елемента розмови.\n */\nexport interface ConversationItem {\n  /**\n   * Ідентифікатор розмови.\n   * @type {string}\n   */\n  id: string\n\n  /**\n   * Ідентифікатор запрошення.\n   * @type {string | undefined}\n   */\n  invite_id?: string\n\n  /**\n   * Ідентифікатор каналу.\n   * @type {string | undefined}\n   */\n  channel_id?: string\n\n  /**\n   * Назва розмови.\n   * @type {string}\n   */\n  title: string\n\n  /**\n   * Час створення.\n   * @type {number}\n   */\n  created_at: number\n\n  /**\n   * Час закриття.\n   * @type {number}\n   */\n  closed_at: number\n\n  /**\n   * Час оновлення.\n   * @type {number}\n   */\n  updated_at: number\n\n  /**\n   * Час приєднання.\n   * @type {number}\n   */\n  joined_at: number\n\n  /**\n   * Час виходу.\n   * @type {number | undefined}\n   */\n  leaving_at?: number\n\n  /**\n   * Змінні виклику.\n   * @type {CallVariables | undefined}\n   */\n  variables?: CallVariables\n\n  /**\n   * Члени розмови.\n   * @type {ChatChannel[]}\n   */\n  members: ChatChannel[]\n\n  /**\n   * Повідомлення в розмові.\n   * @type {Message[]}\n   */\n  messages: Message[]\n\n  /**\n   * Дані задачі.\n   * @type {TaskData | undefined}\n   */\n  task?: TaskData\n  member?: ChatChannel\n}\n\n/**\n * Інтерфейс для контакту.\n */\ninterface Contact {\n  /**\n   * Ідентифікатор контакту.\n   * @type {number | null}\n   */\n  id: number | null\n\n  /**\n   * Приховати контакт.\n   * @type {boolean}\n   */\n  hide: boolean\n}\n\n/**\n * Клас Conversation: Описує чат, включаючи його стан, учасників, повідомлення та інші атрибути.\n *\n * Конструктор Conversation:\n *  client: Клієнт для виконання запитів, використовуваних у розмові.\n *  conversationId: Ідентифікатор розмови.\n *  title: Назва розмови.\n *  members: Список учасників розмови.\n *  messages: Список повідомлень у розмові.\n *  variables: Опційні змінні виклику, що можуть бути використані в розмові.\n * Конструктор ініціалізує всі властивості класу, задаючи значення за замовчуванням або використовує\n * передані параметри для налаштування об'єкта розмови.\n */\nexport class Conversation {\n  data: any\n  state: ConversationState\n  channelId!: string | null\n  inviteId!: string | null\n  member!: ChatChannel\n  members!: ChatChannel[]\n  _cause!: DeclineCause | null\n  _messages: Message[]\n  autoAnswered: boolean\n  _autoAnswerParam: boolean | string | number\n  _autoAnswerTimerId: any | null\n\n  createdAt: number\n  updatedAt: number\n  answeredAt: number\n  invitedAt: number\n  closedAt: number\n  _hasReporting: boolean\n  lastAction: ChatActions | null\n\n  variables?: CallVariables\n  task: Task | null\n  queue: { [index: string]: any } | null\n  contact: Contact | null\n  meetingId: string | null\n\n  /**\n   * Конструктор для розмови.\n   * @param {Client} client - Клієнт для виконання запитів.\n   * @param {string} conversationId - Ідентифікатор розмови.\n   * @param {string} title - Назва розмови.\n   * @param {ChatChannel[]} members - Члени розмови.\n   * @param {Message[]} messages - Повідомлення в розмові.\n   * @param {CallVariables} [variables] - Змінні виклику.\n   */\n  constructor(\n    private readonly client: Client,\n    private readonly conversationId: string,\n    readonly _title: string,\n    members: ChatChannel[],\n    messages: Message[],\n    variables?: CallVariables\n  ) {\n    this.channelId = null\n    this.createdAt = Date.now()\n    this.answeredAt = 0\n    this.updatedAt = 0\n    this.invitedAt = 0\n    this.closedAt = 0\n    this.task = null\n    this.data = null\n    this.queue = null\n    this.members = (members || []).map((i) => wrapChannelMember(i))\n    this._messages = messages || []\n    this.state = ConversationState.Invite\n    this.variables = {}\n    this._hasReporting = !!(variables && variables.cc_reporting === 'true')\n    this.autoAnswered = false\n    this._autoAnswerParam = false\n    this._autoAnswerTimerId = null\n    this._cause = null\n    this.lastAction = null\n    this.contact = {\n      id: null,\n      hide: false,\n    }\n    this.meetingId = null\n\n    for (const k in variables) {\n      if (!k.startsWith('cc_') && Object.hasOwn(variables, k)) {\n        if (k === 'wbt_auto_answer') {\n          this._autoAnswerParam = variables.wbt_auto_answer\n        }\n        // TODO move contact to conversation\n        switch (k) {\n          case 'wbt_contact_id':\n            this.contact.id = +variables[k]\n            break\n          case 'wbt_hide_contact':\n            this.contact.hide = variables[k] === 'true'\n            break\n          case 'wbt_meeting_id':\n            this.meetingId = variables[k]\n            break\n          default:\n            this.variables[k] = variables[k]\n        }\n      }\n    }\n\n    if (\n      variables &&\n      Object.hasOwn(variables, 'cc_attempt_id') &&\n      this.client.agent\n    ) {\n      this.queue = {\n        id: +variables.cc_queue_id || null,\n        name: variables.cc_queue_name || '',\n        manual_distribution: variables.cc_manual_distribution === 'true',\n      }\n      this.task = this.client.agent.task.get(+variables.cc_attempt_id) || null\n    }\n  }\n\n  /**\n   * Встановлює інформацію про запрошення.\n   * @param {string} inviteId - Ідентифікатор запрошення.\n   * @param {number} timestamp - Час запрошення.\n   */\n  setInvite(inviteId: string, timestamp: number) {\n    this.inviteId = inviteId\n    this.invitedAt = timestamp\n\n    if (this.autoAnswer) {\n      this.joinDelay().catch((e) => {\n        this.client.emit('error', e)\n      })\n    }\n  }\n\n  /**\n   * Перевіряє, чи є ручний розподіл в черзі.\n   * @type {boolean}\n   */\n  get manualDistribution() {\n    return this.queue && (this.queue.manual_distribution as boolean)\n  }\n\n  /**\n   * Отримує ідентифікатор контакту.\n   * @type {number | null}\n   */\n  get contactId() {\n    return this.contact?.id || null\n  }\n\n  /**\n   * Перевіряє, чи слід приховувати контакт.\n   * @type {boolean}\n   */\n  get hideContact() {\n    return this.contact?.hide\n  }\n\n  /**\n   * Встановлює ідентифікатор контакту.\n   * @param {number} id - Ідентифікатор контакту.\n   */\n  setContactId(id: number) {\n    if (!this.contact) {\n      this.contact = {\n        hide: false,\n        id,\n      }\n    } else {\n      this.contact.id = id\n    }\n  }\n\n  /**\n   * Перевіряє, чи потрібно автоматично відповісти.\n   * @type {boolean}\n   */\n  get autoAnswer() {\n    return this.autoAnswerDelay > 0\n  }\n\n  /**\n   * Отримує затримку для автоматичної відповіді.\n   * @type {number}\n   */\n  get autoAnswerDelay() {\n    if (!this._autoAnswerParam || `${this._autoAnswerParam}` === 'false') {\n      return 0\n    } else if (Number.isFinite(+this._autoAnswerParam)) {\n      return +this._autoAnswerParam\n    }\n\n    return this.client.autoAnswerDelayTime\n  }\n\n  /**\n   * Встановлює розмову як відповідану.\n   * @param {string} channelId - Ідентифікатор каналу.\n   * @param {number} timestamp - Час відповіді.\n   * @param {ChatChannel} member - Член чату.\n   */\n  setAnswered(channelId: string, timestamp: number, member: ChatChannel) {\n    this.state = ConversationState.Active\n    this.answeredAt = timestamp\n    this.channelId = channelId\n    if (this._autoAnswerTimerId) {\n      clearTimeout(this._autoAnswerTimerId)\n      this._autoAnswerTimerId = null\n    }\n    this.member = wrapChannelMember(member)\n    if (!this.members.some((m) => m.id === this.member.id)) {\n      this.members.push(this.member)\n    }\n    this.inviteId = null // deleted in DB\n  }\n\n  /**\n   * Встановлює розмову як закриту.\n   * @param {number} timestamp - Час закриття.\n   */\n  setClosed(timestamp: number) {\n    this.state = ConversationState.Closed\n    this.closedAt = timestamp\n  }\n\n  /**\n   * Встановлює причину відмови від запрошення.\n   * @param {DeclineInviteEvent} e - Подія відмови.\n   */\n  setDecline(e: DeclineInviteEvent) {\n    this.setClosed(e.timestamp)\n    this._cause = e.cause || null\n  }\n\n  /**\n   * Встановлює причину виходу з чату.\n   * @param {LeavedEvent} e - Подія виходу.\n   */\n  setLeave(e: LeavedEvent) {\n    if (e.cause) {\n      this._cause = e.cause\n    }\n\n    this.setClosed(e.timestamp)\n  }\n\n  /**\n   * Оновлює видалене повідомлення.\n   * @param {MessageDeleted} d - Видалене повідомлення.\n   */\n  setDeletedMessage(d: MessageDeleted) {\n    const messages = this._messages\n    for (let i = 0; i < messages.length; i++) {\n      if (messages[i].id === d.id) {\n        d.created_at = messages[i].created_at\n        messages.splice(i, 1, d as Message)\n      }\n    }\n  }\n\n  /**\n   * Отримує ідентифікатор розмови.\n   * @type {string}\n   */\n  get id() {\n    return this.channelId || this.inviteId || this.conversationId\n  }\n\n  /**\n   * Отримує причину відмови або виходу.\n   * @type {DeclineCause | null}\n   */\n  get cause() {\n    return this._cause\n  }\n\n  /**\n   * Отримує всі повідомлення з каналу.\n   * @type {MessageWithChannel[]}\n   */\n  get messages(): MessageWithChannel[] {\n    return this.getMessages()\n  }\n\n  get getConversationId() {\n    return this.conversationId\n  }\n\n  /**\n   * Отримує всі повідомлення з каналу.\n   * @returns {MessageWithChannel[]}\n   */\n  getMessages(): MessageWithChannel[] {\n    return this._messages.map((i) => {\n      const msg = {\n        id: i.id,\n        type: i.type,\n        member: this.messageMember(i),\n        channelId: i.channel_id,\n        createdAt: i.created_at,\n        updatedAt: i.updated_at,\n        contact: null,\n        variables: null\n      } as MessageWithChannel\n\n      if (Object.hasOwn(i, 'file')) {\n        if (i.file && i.file.id > 0) {\n          i.file.url = this.client.fileUrlDownload(i.file.id, i.file.mime)\n          i.file.streamUrl = this.client.fileUrlStream(i.file.id, i.file.mime)\n        }\n\n        msg.file = i.file\n      }\n\n      if (Object.hasOwn(i, 'text')) {\n        msg.text = i.text\n      }\n\n      if (Object.hasOwn(i, 'contact')) {\n        msg.contact = i.contact\n      }\n\n      if (Object.hasOwn(i, 'variables')) {\n        msg.variables = i.variables\n      }\n\n      return msg\n    })\n  }\n\n  /**\n   * Обробляє наступний етап (потрібно реалізувати).\n   * @returns {Promise<void>}\n   */\n  async next() {\n    throw new Error('TODO')\n  }\n\n  /**\n   * Обробляє пагінацію для повідомлень.\n   * @param {number} page - Номер сторінки.\n   * @param {number} perPage - Кількість повідомлень на сторінку.\n   * @returns {Promise<void>}\n   */\n  async pagination(_page: number, _perPage: number) {\n    throw new Error('TODO')\n  }\n\n  /**\n   * Додає нове повідомлення до розмови.\n   * @param {MessageEvent} e - Подія нового повідомлення.\n   */\n  newMessage(e: MessageEvent) {\n    this._messages.push(e)\n  }\n\n  /**\n   * Перевіряє, чи дозволена відмова.\n   * @type {boolean}\n   */\n  get allowDecline() {\n    return !!this.inviteId\n  }\n\n  /**\n   * Перевіряє, чи дозволено приєднання.\n   * @type {boolean}\n   */\n  get allowJoin() {\n    return !!this.inviteId\n  }\n\n  /**\n   * Перевіряє, чи дозволено вихід.\n   * @type {boolean}\n   */\n  get allowLeave() {\n    return !!this.channelId && (this.closedAt === 0 || !this.hasReporting)\n  }\n\n  /**\n   * Перевіряє, чи дозволена подача звітності.\n   * @type {boolean}\n   */\n  get allowReporting(): boolean {\n    const isAutoAnswer =\n      this._autoAnswerParam === true || this._autoAnswerParam === 'true'\n\n    return (this.answeredAt > 0 || isAutoAnswer) && this.hasReporting\n  }\n\n  /**\n   * Перевіряє, чи є звітність.\n   * @type {boolean}\n   */\n  get hasReporting() {\n    return this._hasReporting\n  }\n\n  /**\n   * Отримує ідентифікатори всіх учасників.\n   * @type {string[]}\n   */\n  get membersId() {\n    const res = [this.id]\n    for (const m of this.members) {\n      res.push(m.id!)\n    }\n\n    return res\n  }\n\n  /**\n   * @deprecated\n   * Отримує завдання, яке зараз виконується.\n   * @type {Task | null}\n   */\n  get attempt() {\n    return this.task\n  }\n\n  /**\n   * Перевіряє, чи була розмова передана.\n   * @type {boolean}\n   */\n  get isTransferred() {\n    return this._cause?.toUpperCase() === DeclineCause.Transfer\n  }\n\n  /*\n   * Дії\n   */\n\n  /**\n   * Відмовляється від розмови.\n   * @param {DeclineCause} [cause] - Причина відмови.\n   * @returns {Promise<void>}\n   */\n  async decline(cause?: DeclineCause) {\n    if (!this.inviteId) throw new Error('This conversation is joined')\n    let _cause = cause\n\n    if (!cause && this.answeredAt === 0) {\n      _cause = DeclineCause.Busy\n    }\n\n    return this.client.request(`decline_chat`, {\n      invite_id: this.inviteId,\n      cause: _cause,\n    })\n  }\n\n  /**\n   * Затримує приєднання до розмови, якщо потрібно.\n   * @returns {Promise<void>}\n   */\n  async joinDelay() {\n    if (this.autoAnswered) {\n      return\n    }\n\n    this.autoAnswered = true\n    this._autoAnswerTimerId = setTimeout(async () => {\n      if (!this.answeredAt) {\n        await this.join()\n      }\n    }, this.autoAnswerDelay)\n  }\n\n  /**\n   * Приєднується до розмови.\n   * @returns {Promise<void>}\n   */\n  async join() {\n    if (!this.inviteId) throw new Error('This conversation is joined')\n\n    return this.client.request(`join_chat`, {\n      invite_id: this.inviteId,\n    })\n  }\n\n  /**\n   * Закриває розмову.\n   * @param {string} cause - Причина закриття.\n   * @returns {Promise<void>}\n   */\n  async close(cause: string) {\n    if (!this.channelId) throw new Error('This conversation not active')\n\n    return this.client.request(`close_chat`, {\n      channel_id: this.channelId,\n      conversation_id: this.conversationId,\n      cause,\n    })\n  }\n\n  /**\n   * Виходить з розмови.\n   * @param {string} cause - Причина виходу.\n   * @returns {Promise<void>}\n   */\n  async leave(cause: string) {\n    if (!this.channelId) throw new Error('This conversation not active')\n\n    if (\n      this.closedAt !== 0 &&\n      !this.hasReporting &&\n      this.cause !== DeclineCause.Busy\n    ) {\n      return this.client.destroyConversation(this)\n    }\n\n    return this.client.request(`leave_chat`, {\n      channel_id: this.channelId,\n      conversation_id: this.conversationId,\n      cause,\n    })\n  }\n\n  /**\n   * Відправляє текстове повідомлення.\n   * @param {string} text - Текст повідомлення.\n   * @returns {Promise<void>}\n   */\n  async sendText(text: string) {\n    if (!this.channelId) {\n      throw new Error('conversation not active')\n    }\n\n    if (!text.length) {\n      throw new Error('empty message')\n    }\n\n    const chunk = chunkString(text, maxSizeMessage)\n\n    for (let i = 0; i < chunk.length; i++) {\n      if (i + 1 >= chunk.length) {\n        return this.sendMessageTextChunk(chunk[i])\n      }\n\n      await this.sendMessageTextChunk(chunk[i])\n    }\n  }\n\n  /**\n   * Відправляє файл.\n   * @param {File} file - Файл для відправки.\n   * @param {FileUploadProgress} [cb] - Колбек для відстеження прогресу завантаження.\n   * @returns {Promise<void>}\n   */\n  async sendFile(file: File, cb?: FileUploadProgress) {\n    const storedFiles = await this.client.storeFile(\n      this.conversationId,\n      [file],\n      cb,\n      'chat'\n    )\n    const f = storedFiles[0]\n\n    // todo bug if chat response error\n    return this.client.request(`send_file_chat`, {\n      channel_id: this.channelId,\n      conversation_id: this.conversationId,\n      id: f.id,\n      name: file.name,\n      mime: f.mime,\n      url: f.shared,\n      size: f.size,\n    })\n  }\n\n  /**\n   * Відправляє дані (текст або файл).\n   * @param {string | File} data - Дані для відправки.\n   * @param {FileUploadProgress} [cb] - Колбек для відстеження прогресу завантаження.\n   * @returns {Promise<void>}\n   */\n  async send(data: string | File, cb?: FileUploadProgress) {\n    if (data instanceof File) {\n      return this.sendFile(data, cb)\n    }\n\n    return this.sendText(data)\n  }\n\n  /**\n   * Оновлює інформацію про членів розмови.\n   * @param {ChatChannel[]} members - Нові члени розмови.\n   */\n  setMembers(members: ChatChannel[]) {\n    this.members = members.map((i) => wrapChannelMember(i))\n  }\n\n  /**\n   * Перевіряє, чи належить повідомлення розмові.\n   * @param {Message} m - Повідомлення.\n   * @returns {boolean}\n   */\n  isMessageInConversation(m: Message) {\n    return this._messages.some((i) => i.id === m.id)\n  }\n\n  /**\n   * Надсилає звіт для поточної розмови.\n   *\n   * Цей метод викликає метод reporting об'єкта Task, щоб надіслати звіт про розмову.\n   * Якщо розмова не знаходиться в черзі, буде згенерована помилка.\n   *\n   * @param {Reporting} reporting - Об'єкт Reporting, який містить дані звіту.\n   * @throws {Error} - Якщо розмова не знаходиться в черзі.\n   * @returns {Promise<any>} - Результат виконання методу reporting об'єкта Task.\n   */\n  async reporting(reporting: Reporting) {\n    if (!this.task) {\n      throw new Error(`this conversation not in queue`)\n    }\n\n    return this.task.reporting(reporting)\n  }\n\n  /**\n   * Оновлює час для поточної розмови в черзі.\n   *\n   * Цей метод викликає метод renew об'єкта Task, щоб оновити час розмови.\n   * Якщо розмова не знаходиться в черзі, буде згенерована помилка.\n   *\n   * @param {number} [sec] - Кількість секунд для продовження розмови. Якщо не зазначено, використовується значення за замовчуванням.\n   * @throws {Error} - Якщо розмова не знаходиться в черзі.\n   * @returns {Promise<any>} - Результат виконання методу renew об'єкта Task.\n   */\n  async renew(sec?: number) {\n    if (!this.task) {\n      throw new Error(`this conversation not in queue`)\n    }\n\n    return this.task.renew(sec)\n  }\n\n  /**\n   * Переносить розмову до плану.\n   *\n   * Цей метод відправляє запит на сервер для перенесення розмови до зазначеного плану.\n   *\n   * @param {number} planId - Ідентифікатор плану, до якого потрібно перенести розмову.\n   * @param {CallVariables} variables - Змінні.\n   * @returns {Promise<any>} - Результат запиту на сервер для перенесення розмови.\n   */\n  async transferToPlan(planId: number, variables?: CallVariables) {\n    return this.client.request(`blind_transfer_chat`, {\n      conversation_id: this.conversationId,\n      channel_id: this.channelId,\n      plan_id: planId,\n      variables,\n    })\n  }\n\n  /**\n   * Переносить розмову до іншого користувача.\n   *\n   * Цей метод відправляє запит на сервер для перенесення розмови до вказаного користувача.\n   *\n   * @param {number} userId - Ідентифікатор користувача, до якого потрібно перенести розмову.\n   * @param {CallVariables} variables - Змінні.\n   * @returns {Promise<any>} - Результат запиту на сервер для перенесення розмови.\n   */\n  async transferToUser(userId: number, variables?: CallVariables) {\n    return this.client.request(`transfer_user_chat`, {\n      conversation_id: this.conversationId,\n      channel_id: this.channelId,\n      user_id: userId,\n      variables,\n    })\n  }\n\n  /**\n   * Встановлює контакт для розмови.\n   *\n   * Цей метод відправляє запит на сервер для призначення контактного ідентифікатора до розмови.\n   *\n   * @param {number} contactId - Ідентифікатор контакту, який потрібно призначити для розмови.\n   * @returns {Promise<any>} - Результат запиту на сервер для встановлення контакту.\n   */\n  async setContact(contactId: number) {\n    return this.client.request(`chat_set_contact`, {\n      id: this.conversationId,\n      channel_id: this.channelId,\n      contact_id: contactId,\n    })\n  }\n\n  /**\n   * Надсилає частину текстового повідомлення у розмову.\n   *\n   * Цей метод надсилає частину текстового повідомлення на сервер у рамках розмови.\n   *\n   * @param {string} text - Текст повідомлення, яке потрібно надіслати.\n   * @returns {Promise<any>} - Результат запиту на сервер для надсилання частини текстового повідомлення.\n   */\n  private sendMessageTextChunk(text: string) {\n    return this.client.request(`send_text_chat`, {\n      channel_id: this.channelId,\n      conversation_id: this.conversationId,\n      text,\n    })\n  }\n\n  /**\n   * Визначає учасника, який надіслав повідомлення.\n   *\n   * Цей метод перевіряє, чи є відправник повідомлення поточним учасником розмови або одним з членів розмови.\n   *\n   * @param {Message} msg - Повідомлення, для якого потрібно визначити відправника.\n   * @returns {ChatChannel | null} - Об'єкт `ChatChannel`, що представляє учасника, який надіслав повідомлення, або `null`, якщо учасник не знайдено.\n   */\n  private messageMember(msg: Message): ChatChannel | null {\n    if (this.member && msg.channel_id === this.channelId) {\n      return {\n        self: true,\n      }\n    }\n\n    for (const m of this.members) {\n      if (m.id === msg.channel_id) {\n        return m\n      }\n    }\n\n    return null // TODO\n  }\n}\n\n/**\n * Оновлює або покращує об'єкт ChatChannel.\n * @param {ChatChannel} m - Об'єкт ChatChannel для оновлення.\n * @returns {ChatChannel} - Оновлений об'єкт ChatChannel.\n */\nfunction wrapChannelMember(m: ChatChannel): ChatChannel {\n  // TODO: Реалізувати додаткову логіку обробки об'єкта ChatChannel\n\n  // Встановлює значення властивості messenger як тип каналу\n  m.messenger = m.type\n\n  return m\n}\n","import { EventEmitter } from 'ee-ts'\nimport { formatWebSocketUri } from './utils'\n\nconst SOCKET_URL_SUFFIX = 'websocket'\nconst spamData = `\\u0000\\u0000\\u0000\\u0000`\n\n/**\n * Інтерфейс, що описує структуру повідомлення.\n */\nexport interface Message {\n  event?: string // Подія, що сталася\n  status?: string // Статус повідомлення\n  seq?: number // Послідовність повідомлень\n  seq_reply?: number // Відповідь на послідовне повідомлення\n  data: any // Дані, що передаються в повідомленні\n  error?: object // Об'єкт з інформацією про помилку\n  sock_id?: string // Ідентифікатор сокету\n}\n\n/**\n * Інтерфейс, що описує структуру запиту.\n */\nexport interface Request {\n  seq: number // Послідовність запитів\n  action: string // Дія, яка виконується\n  data?: object // Дані для запиту\n}\n\n/**\n * Інтерфейс, що описує події, які можуть виникнути у сокеті.\n */\nexport interface SocketEvents {\n  /**\n   * Обробник події надходження повідомлення.\n   * @param msg Повідомлення, що надійшло.\n   */\n  message(msg: Message): void\n\n  /**\n   * Обробник події закриття з'єднання.\n   * @param code Код закриття з'єднання.\n   */\n  close(code: number): void\n\n  /**\n   * Обробник події відкриття з'єднання.\n   */\n  open(): void\n}\n\n/**\n * Клас для роботи з WebSocket-з'єднанням.\n */\nexport class Socket extends EventEmitter<SocketEvents> {\n  private socket!: WebSocket | undefined\n\n  /**\n   * Конструктор класу Socket.\n   * @param host Хост для підключення.\n   * @param appName Імя підключення.\n   */\n  constructor(\n    private host: string,\n    private appName?: string,\n    private appVer?: string\n  ) {\n    super()\n    // this.socket = null\n  }\n\n  /**\n   * Встановлює з'єднання з WebSocket.\n   * @param token Токен для авторизації.\n   */\n  connect(_token: string) {\n    this.socket = new WebSocket(\n      `${formatWebSocketUri(this.host)}/${SOCKET_URL_SUFFIX}?application_name=${\n        this.appName || 'webitel_sdk'\n      }&ver=${this.appVer || ''}`\n    )\n\n    this.socket.onclose = (e) => this.onClose(e.code)\n\n    this.socket.onmessage = (e) => this.onMessage(e.data)\n    this.socket.onopen = () => this.onOpen()\n  }\n\n  /**\n   * Відправляє запит через WebSocket.\n   * @param request Запит, який необхідно відправити.\n   * @returns Ніколи або null.\n   */\n  send(request: Request): never | null {\n    this.socket!.send(JSON.stringify(request))\n\n    return null\n  }\n\n  /**\n   * Закриває WebSocket-з'єднання.\n   * @param code Код закриття з'єднання (необов'язково).\n   */\n  close(code?: number) {\n    this.socket!.close(code || 1000)\n    delete this.socket\n    this.onClose(code || 1000)\n  }\n\n  /**\n   * Викликається при відкритті з'єднання.\n   * Генерує подію 'open'.\n   * @private\n   */\n  private onOpen() {\n    this.emit('open')\n  }\n\n  /**\n   * Викликається при закритті з'єднання.\n   * Генерує подію 'close' та очищає слухачів подій.\n   * @param code Код закриття з'єднання.\n   * @private\n   */\n  private onClose(code: number) {\n    this.emit('close', code)\n    this.off('*')\n  }\n\n  /**\n   * Викликається при отриманні повідомлення.\n   * Парсує дані повідомлення і генерує подію 'message'.\n   * @param data Дані повідомлення у форматі рядка.\n   * @private\n   */\n  private onMessage(data: string) {\n    if (data !== spamData) {\n      const message = JSON.parse(data) as Message\n      this.emit('message', message)\n    }\n  }\n}\n","import { genId, setVP9Video } from './utils'\nimport { EventEmitter } from 'ee-ts'\nimport type { Log } from '../log'\n\nexport interface SenderEvents {\n  close(s: SenderSession): void\n  stream(s: RTCSessionDescription): void\n  error(s: Error): void\n}\n\ninterface FromUser {\n  id: number\n  sockId: string\n  sessionId: string\n}\n\nexport class SenderSession extends EventEmitter<SenderEvents> {\n  id: string\n  pc: RTCPeerConnection\n  stream: MediaStream | null\n  peerSdp: string\n  closeReason: string | null\n  from: FromUser\n  log: Log\n  constructor(\n    peerSdp: string,\n    from: FromUser,\n    conf: RTCConfiguration,\n    log: Log\n  ) {\n    super()\n    this.log = log\n    this.id = genId()\n    this.from = from\n    this.pc = new RTCPeerConnection(conf)\n    setVP9Video(this.pc)\n    // this.pc.addTransceiver('video', { direction: 'sendonly' });\n    this.pc.oniceconnectionstatechange = (e) => this.iceConnectionState(e)\n    this.pc.onicecandidate = this.iceCandidate.bind(this)\n    this.stream = null\n    this.peerSdp = peerSdp\n    this.closeReason = null\n  }\n\n  close() {\n    this.pc.close()\n    if (this.stream) {\n      this.stream.getTracks().forEach((track) => track.stop())\n      this.stream = null\n    }\n    this.emit('close', this)\n    this.off('*')\n  }\n\n  async start(stream: MediaStream) {\n    const pc = this.pc\n    await pc.setRemoteDescription({\n      type: 'offer',\n      sdp: this.peerSdp,\n    })\n\n    this.stream = stream\n    stream.getTracks().forEach((track) => {\n      this.onTrackStop(track)\n      pc.addTrack(track, stream)\n    })\n\n    const answer = await pc.createAnswer()\n    await pc.setLocalDescription(answer)\n  }\n\n  onTrackStop(t: MediaStreamTrack) {\n    t.onmute = () => {\n      // TODO\n      // this.closeReason = 'mute stream'\n      // this.close()\n    }\n    t.onended = () => {\n      this.closeReason = 'ended stream'\n      this.close()\n    }\n  }\n\n  iceConnectionState(_e: Event) {\n    this.log.debug('sender iceConnectionState ', this.pc.iceConnectionState)\n    const pc = this.pc\n\n    switch (pc.iceConnectionState) {\n      case 'disconnected':\n      case 'failed':\n        this.close()\n        break\n\n      default:\n        this.log.debug(\n          `unhandled ICE connection state: ${this.pc.iceConnectionState}`\n        )\n    }\n  }\n\n  async iceCandidate(_e: RTCPeerConnectionIceEvent) {\n    const pc = this.pc\n    this.log.debug(`ICE candidate state: ${pc.iceGatheringState}`)\n\n    if (pc.iceGatheringState !== 'complete') {\n      return\n    }\n    try {\n      this.emit('stream', pc.localDescription!)\n      // tslint:disable-next-line: no-console\n      // console.info('sender local sdp\\n', pc.localDescription!.sdp)\n      // tslint:disable-next-line: no-console\n      // tslint:disable-next-line: no-console\n      // console.info('sender remote sdp\\n', this.peerSdp)\n      // tslint:disable-next-line: no-console\n    } catch (e) {\n      this.close()\n      throw e\n    }\n  }\n}\n","import { EventEmitter } from 'ee-ts'\nimport { genId } from './utils'\nimport type { Log } from '../log'\n\nexport interface ReceiveEvents {\n  close(s: ReceiverSession): void\n  offer(o: RTCSessionDescription): void\n  stream(m: MediaStream): void\n}\n\nexport class ReceiverSession extends EventEmitter<ReceiveEvents> {\n  pc: RTCPeerConnection | null\n  id: string\n  stream: MediaStream | null\n  acceptSdp: Promise<RTCSessionDescription>\n  log: Log\n  private resolveAcceptSdp!: (value: RTCSessionDescription) => void\n  private rejectAcceptSdp!: (reason?: any) => void\n  constructor(conf: RTCConfiguration, log: Log) {\n    super()\n    this.log = log\n    this.id = genId()\n    this.pc = new RTCPeerConnection(conf)\n    // setVP9Video(this.pc)\n    this.pc.addTransceiver('video')\n    this.pc.addTransceiver('audio')\n    this.pc.oniceconnectionstatechange = (e) => this.iceConnectionState(e)\n    this.pc.onicecandidate = this.iceCandidate.bind(this)\n    this.pc.ontrack = this.onTrack.bind(this)\n    this.acceptSdp = new Promise<RTCSessionDescription>((resolve, reject) => {\n      this.resolveAcceptSdp = resolve\n      this.rejectAcceptSdp = reject\n    })\n\n    this.stream = null\n  }\n\n  onTrack(e: RTCTrackEvent) {\n    this.stream = e.streams[0]\n    this.stream.getTracks().forEach(this.onTrackStop.bind(this))\n    this.emit('stream', this.stream)\n    this.log.debug('receive media', e.streams[0].id)\n  }\n\n  onTrackStop(t: MediaStreamTrack) {\n    t.onmute = () => {\n      // TODO\n      // this.log.debug('onmute')\n      // this.close()\n    }\n    t.onended = () => {\n      this.log.debug('onended')\n      this.close()\n    }\n  }\n\n  close() {\n    if (this.pc) {\n      this.pc.close()\n      this.pc = null\n    }\n\n    if (this.stream) {\n      this.stream.getTracks().forEach((track) => track.stop())\n      this.stream = null\n    }\n    this.emit('close', this)\n    this.off('*')\n  }\n  async offer() {\n    const offer = await this.pc!.createOffer()\n    await this.pc!.setLocalDescription(offer)\n\n    return this.acceptSdp\n  }\n\n  async answer(answer: RTCSessionDescriptionInit) {\n    const pc = this.pc!\n    this.log.debug('answer sdp: ', answer.sdp)\n    await pc.setRemoteDescription(answer)\n  }\n\n  iceConnectionState(_e: Event) {\n    const pc = this.pc!\n\n    this.log.debug('sender iceConnectionState ', pc.iceConnectionState)\n\n    switch (pc.iceConnectionState) {\n      case 'disconnected':\n      case 'failed':\n        this.close()\n        break\n\n      default:\n        this.log.debug(\n          `unhandled ICE connection state: ${pc.iceConnectionState}`\n        )\n    }\n  }\n\n  async iceCandidate(e: RTCPeerConnectionIceEvent) {\n    const pc = this.pc!\n\n    this.log.debug('receiver iceCandidate state:', pc.iceGatheringState)\n\n    if (e.candidate) {\n      this.log.debug('generated ICE candidate:', e.candidate)\n    }\n\n    if (pc.iceGatheringState === 'complete') {\n      if (pc.localDescription) {\n        this.log.debug(\n          'ICE gathering complete. Resolving acceptSdp with localDescription.'\n        )\n        this.resolveAcceptSdp(pc.localDescription)\n      } else {\n        this.log.debug('ICE gathering complete, but localDescription is null.')\n        this.rejectAcceptSdp(\n          new Error('Local Description is null after ICE gathering.')\n        )\n      }\n    }\n  }\n}\n","import { ReceiverSession } from '../screen'\nimport type { Log } from '../log'\nimport type { Client } from './client'\n\nconst ackRequestTimeout = 10000\n\nexport class SpyScreen extends ReceiverSession {\n  toUserId: number\n  recordings: boolean\n  fromSockId: string\n  constructor(\n    private cli: Client,\n    userId: number,\n    conf: RTCConfiguration,\n    log: Log\n  ) {\n    super(conf, log)\n    this.recordings = false\n    this.toUserId = userId\n    this.fromSockId = ''\n  }\n\n  async answerSession(fromSockId: string, ans: RTCSessionDescriptionInit) {\n    this.fromSockId = fromSockId\n\n    return this.answer(ans)\n  }\n\n  async screenshot() {\n    return this.cli.ackRequest(\n      `screenshot`,\n      {\n        to_user_id: this.toUserId,\n      },\n      ackRequestTimeout\n    )\n  }\n\n  async startRecord() {\n    if (this.recordings) {\n      throw new Error('recordings already exists')\n    }\n\n    const res = await this.cli.ackRequest(\n      `start_record_screen`,\n      {\n        root_id: this.id,\n        to_user_id: this.toUserId,\n      },\n      ackRequestTimeout\n    )\n    this.recordings = true\n\n    return res\n  }\n\n  async stopRecord() {\n    if (!this.recordings) {\n      throw new Error('recordings not exists')\n    }\n\n    const res = await this.cli.ackRequest(\n      `stop_record_screen`,\n      {\n        root_id: this.id,\n        to_user_id: this.toUserId,\n      },\n      ackRequestTimeout\n    )\n    this.recordings = false\n\n    return res\n  }\n}\n","// tslint:disable-next-line: match-default-export-name\nimport Axios from 'axios'\nimport { EventEmitter } from 'ee-ts'\n\nimport { Log } from '../log'\nimport type {\n  AudioProcessingConfig,\n  CallSession,\n  SipClient,\n  SipConfiguration,\n} from '../sip'\nimport { SipPhone } from '../sip/webrtc'\nimport { SipPhone as ExperimentalPhone } from '../sip/webrtc2'\nimport { version } from '../version'\nimport {\n  Agent,\n  type AgentSession,\n  type AgentStatusEvent,\n  ChannelState,\n} from './agent'\nimport {\n  type AnswerRequest,\n  Call,\n  CallActions,\n  type CallEventData,\n  type CallEventDTMF,\n  type CallEventEavesdrop,\n  type CallEventExecute,\n  type CallItem,\n  type CallMediaStats,\n  type CallVariables,\n  type EavesdropRequest,\n  type OutboundCallRequest,\n  type RtpMetrics,\n} from './call'\nimport {\n  ChatActions,\n  type ChatEvent,\n  type CloseEvent,\n  Conversation,\n  type ConversationItem,\n  type DeclineInviteEvent,\n  type InviteEvent,\n  type JoinedEvent,\n  type LeavedEvent,\n  type MessageDeleted,\n  type MessageEvent,\n} from './conversation'\nimport {\n  type BaseError,\n  DeviceNotAllowPermissionError,\n  DeviceNotFoundError,\n  LicencePermissionError,\n  RolePermissionError,\n  TypeErrors,\n} from './errors'\nimport {\n  type MessageNotification,\n  type MessageScreenShare,\n  type Notification,\n  NotificationActions,\n} from './notification'\nimport type { QueueJoinMemberEvent } from './queue'\nimport { type Message, Socket } from './socket'\nimport {\n  type ChannelEvent,\n  ChannelName,\n  JobState,\n  type Reporting,\n  Task,\n  type TaskData,\n} from './task'\nimport type { UserStatus } from './user'\nimport { formatBaseUri, generateId } from './utils'\nimport { SenderSession, type ScreenResolver } from '../screen'\nimport { SpyScreen } from './screen'\n\n/**\n * Налаштування клієнта.\n *\n * @interface Config\n * @property {string} endpoint - URL-адреса кінцевої точки для підключення клієнта.\n * @property {string} [storageEndpoint] - (Необов'язковий) URL-адреса кінцевої точки для зберігання даних.\n * @property {string} [token] - (Необов'язковий) Токен для аутентифікації клієнта.\n * @property {'debug' | 'info' | 'warn' | 'error'} [logLvl] - (Необов'язковий) Рівень логування для клієнта.\n * @property {boolean} [registerWebDevice] - (Необов'язковий) Вказує, чи слід реєструвати веб-пристрій.\n * @property {number} [phone] - (Необов'язковий) Номер телефону для реєстрації.\n * @property {boolean} [debug] - (Необов'язковий) Вказує, чи слід увімкнути режим налагодження.\n * @property {number} [autoAnswerDelayTime] - (Необов'язковий) Час затримки перед автоматичною відповіддю на дзвінок.\n * @property {boolean} [echoCancellation] - (Необов'язковий) Вказує, чи слід увімкнути придушення відлуння.\n * @property {boolean} [noiseSuppression] - (Необов'язковий) Вказує, чи слід увімкнути придушення шуму.\n * @property {boolean} [autoGainControl] - (Необов'язковий) Вказує, чи слід увімкнути автоматичне регулювання підсилення.\n */\nexport interface Config {\n  endpoint: string\n  storageEndpoint?: string\n  token?: string\n  logLvl?: 'debug' | 'info' | 'warn' | 'error'\n  registerWebDevice?: boolean\n  phone?: number\n  debug?: boolean\n  autoAnswerDelayTime?: number\n  screenResolver?: ScreenResolver | null\n  applicationName?: string\n  echoCancellation?: boolean\n  noiseSuppression?: boolean\n  autoGainControl?: boolean\n}\n\n/**\n * Інтерфейс для зворотного виклику обіцянки.\n */\ninterface PromiseCallback {\n  resolve: (res: object) => void\n  reject: (err: object) => void\n}\n\ninterface AckPromiseCallback {\n  timerId: any\n  resolve: (res: object) => void\n  reject: (err: object) => void\n}\n\n/**\n * Запит на дзвінок користувачу.\n *\n * @interface UserCallRequest\n * @property {string | null} [nodeId] - (Необов'язковий) Ідентифікатор вузла, з якого здійснюється дзвінок. Якщо не вказано, значення буде null.\n * @property {string | null} [parentCallId] - (Необов'язковий) Ідентифікатор батьківського дзвінка, якщо такий існує.\n * @property {string | null} [sendToCallId] - (Необов'язковий) Ідентифікатор дзвінка, на який потрібно відправити виклик, якщо такий існує.\n * @property {string} toUserId - Ідентифікатор користувача, якому призначений дзвінок.\n * @property {boolean} [useVideo] - (Необов'язковий) Вказує, чи буде використовуватись відео під час дзвінка.\n * @property {boolean} [useScreen] - (Необов'язковий) Вказує, чи буде використовуватись спільний доступ до екрану під час дзвінка.\n * @property {boolean} [useAudio] - (Необов'язковий) Вказує, чи буде використовуватись аудіо під час дзвінка.\n * @property {CallVariables} [variables] - (Необов'язковий) Додаткові змінні, які будуть використані під час дзвінка.\n */\nexport interface UserCallRequest {\n  nodeId?: string | null\n  parentCallId?: string | null\n  sendToCallId?: string | null\n  toUserId: string\n  useVideo?: boolean\n  useScreen?: boolean\n  useAudio?: boolean\n  variables?: CallVariables\n}\n\n/**\n * Подія SDP (Session Description Protocol).\n */\nexport interface SdpEvent {\n  sip_id: string\n  sdp: {\n    sdp: string\n    type: string\n  }\n}\n\n// Назва заголовку для токена доступу\nconst API_HEADER_TOKEN = 'X-Webitel-Access'\n\n// Тип події WebSocket для аутентифікації\nconst WEBSOCKET_AUTHENTICATION_CHALLENGE = 'authentication_challenge'\n\n// Конфігурація пристрою за замовчуванням для користувача через WebSocket\nconst WEBSOCKET_DEFAULT_DEVICE_CONFIG = 'user_default_device'\n\n// Подія WebSocket для сесії агента контакт-центру\nconst WEBSOCKET_AGENT_SESSION = 'cc_agent_session'\n\n// Подія WebSocket для перевірки підключення (ping)\nconst WEBSOCKET_PING = 'ping'\n\n// Подія WebSocket для створення вихідного дзвінка\nconst WEBSOCKET_MAKE_OUTBOUND_CALL = 'call_invite'\n\n// Подія WebSocket для виклику користувача\nconst WEBSOCKET_MAKE_USER_CALL = 'call_user'\n\n// Подія WebSocket для ініціалізації (hello)\nconst WEBSOCKET_EVENT_HELLO = 'hello'\n\n// Подія WebSocket для обробки дзвінків\nconst WEBSOCKET_EVENT_CALL = 'call'\n\n// Подія WebSocket для обробки чатів\nconst WEBSOCKET_EVENT_CHAT = 'chat'\n\n// Подія WebSocket для відстеження стану користувача\nconst WEBSOCKET_EVENT_USER_STATE = 'user_state'\n\n// Подія WebSocket для оновлення статусу агента\nconst WEBSOCKET_EVENT_AGENT_STATUS = 'agent_status'\n\n// Подія WebSocket для оновлення стану каналу зв'язку\nconst WEBSOCKET_EVENT_CHANNEL_STATUS = 'channel'\n\n// Подія WebSocket для обробки додавання учасника в чергу\nconst WEBSOCKET_EVENT_QUEUE_JOIN_MEMBER = 'queue_join_member'\n\n// Подія WebSocket для обробки помилок\nconst WEBSOCKET_EVENT_ERROR = 'error'\n\n// Подія WebSocket для обробки загальних повідомлень\nconst WEBSOCKET_EVENT_NOTIFICATION = 'notification'\n\nexport const WEBSOCKET_EVENT_CALL_MEDIA_METRIC = 'call_media_metric'\n\n// Подія WebSocket для обробки завдань\nconst TASK_EVENT = 'task'\n\n// Подія WebSocket для обробки робіт\nconst JOB_EVENT = 'job'\n\n// Подія WebSocket для обробки SIP повідомлень\nconst WEBSOCKET_EVENT_SIP = 'sip'\n\n// Подія WebSocket для обробки SDP повідомлень\nconst WEBSOCKET_EVENT_SDP = 'sdp'\n\n/**\n * Помилки обробки.\n */\nenum HandleError {\n  NotFoundError = 'NotFoundError',\n  NotAllowedError = 'NotAllowedError',\n}\n\n/**\n * Статус відповіді.\n */\nexport enum Response {\n  STATUS_FAIL = 'FAIL',\n  STATUS_OK = 'OK',\n}\n\n/**\n * Інформація про сесію.\n *\n * Цей інтерфейс описує структуру даних, яка містить інформацію про сесію користувача.\n */\nexport interface Session {\n  /**\n   * Унікальний ідентифікатор сесії.\n   */\n  id: string\n\n  /**\n   * Час закінчення дії сесії в секундах (UNIX timestamp).\n   */\n  expire: number\n\n  /**\n   * Ідентифікатор користувача, до якого належить сесія.\n   */\n  user_id: number\n\n  /**\n   * Список ідентифікаторів ролей, які має користувач у межах цієї сесії.\n   */\n  role_ids: number[]\n  token: string\n}\n\n/**\n * Інформація про з'єднання.\n *\n * Цей інтерфейс описує структуру даних, яка містить інформацію про поточне з'єднання з сервером.\n */\nexport interface ConnectionInfo {\n  /**\n   * Ідентифікатор сокет-з'єднання.\n   */\n  sock_id: string\n\n  /**\n   * Коміт ідентифікатора збірки сервера.\n   */\n  server_build_commit: string\n\n  /**\n   * Ідентифікатор вузла сервера, з яким встановлено з'єднання.\n   */\n  server_node_id: string\n\n  /**\n   * Версія сервера, з яким встановлено з'єднання.\n   */\n  server_version: string\n\n  /**\n   * Поточний час сервера в секундах (UNIX timestamp).\n   */\n  server_time: number\n\n  /**\n   * Інтервал пінг-запитів у мілісекундах (необов'язкове).\n   */\n  ping_interval?: number\n\n  /**\n   * Інформація про сесію користувача, пов'язану з цим з'єднанням.\n   */\n  session: Session\n\n  /**\n   * Вказує на те, чи підтримує сервер Back-to-Back User Agent (необов'язкове).\n   */\n  b2bua?: boolean\n\n  /**\n   * Вказує, чи дозволено використовувати чат для цього з'єднання (необов'язкове).\n   */\n  use_chat?: boolean\n\n  /**\n   * Вказує, чи дозволено використовувати центр контактів (call center) для цього з'єднання (необов'язкове).\n   */\n  use_cc?: boolean\n  rtc_configuration?: RTCConfiguration\n}\n\n/**\n * Відповідь списку дзвінків.\n */\nexport interface CallListResponse {\n  items?: CallItem[]\n  next?: boolean\n}\n\n/**\n * Відповідь списку завдань.\n */\nexport interface TaskListResponse {\n  items: TaskData[]\n}\n\n/**\n * Відповідь списку розмов.\n */\nexport interface ConversationListResponse {\n  items?: ConversationItem[]\n  next?: boolean\n}\n\n/**\n * Інформація про файл у сховищі.\n *\n * Цей інтерфейс описує структуру даних, яка містить інформацію про файл, збережений у сховищі.\n */\nexport interface StorageShareFile {\n  /**\n   * Унікальний ідентифікатор файлу.\n   */\n  id: number\n\n  /**\n   * Розмір файлу в байтах.\n   */\n  size: number\n\n  /**\n   * MIME-тип файлу, який вказує на його формат.\n   */\n  mime: string\n\n  /**\n   * Назва файлу.\n   */\n  name: string\n\n  /**\n   * Посилання для доступу до файлу, якщо файл спільний.\n   */\n  shared: string\n}\n\n/**\n * Функція для відстеження прогресу завантаження файлу.\n */\nexport type FileUploadProgress = (progress: any) => void\n\n/**\n * Інтерфейс затримки.\n */\ninterface Latency {\n  server_ts: number\n  client_ts: number\n  server_ack_ts: number\n  client_ack_ts: number\n}\n\n/**\n * Обробник подій дзвінка.\n */\nexport type CallEventHandler = (action: CallActions, call: Call) => void\n\n/**\n * Обробник подій чату.\n */\nexport type ChatEventHandler = (\n  action: string,\n  conversation: Conversation\n) => void\n\n/**\n * Обробник подій статусу користувачів.\n */\nexport type UsersStatusEventHandler = (state: UserStatus) => void\n\n/**\n * Обробник подій статусу агента.\n */\nexport type AgentStatusEventHandler = (\n  state: AgentStatusEvent,\n  agent: Agent\n) => void\n\n/**\n * Обробник подій завдання.\n */\nexport type TaskEventHandler = (action: string, task: Task | undefined) => void\n\n/**\n * Обробник подій роботи.\n */\nexport type JobEventHandler = (action: string, task: Task) => void\n\n/**\n * Обробник подій приєднання абонента до черги.\n */\nexport type QueueJoinMemberHandler = (member: QueueJoinMemberEvent) => void\n\n/**\n * Інтерфейс обробника подій.\n */\ninterface EventHandler {\n  [WEBSOCKET_EVENT_CALL](action: CallActions, call: Call): void\n  [WEBSOCKET_EVENT_USER_STATE](state: UserStatus): void\n  [WEBSOCKET_EVENT_SIP](data: object): void\n  [WEBSOCKET_EVENT_AGENT_STATUS](status: AgentStatusEvent, agent: Agent): void\n\n  [WEBSOCKET_EVENT_QUEUE_JOIN_MEMBER](member: QueueJoinMemberEvent): void\n  [TASK_EVENT](name: string, task: Task | undefined): void\n  [JOB_EVENT](name: string, task: Task): void\n  [WEBSOCKET_EVENT_CHAT](action: string, conversation: Conversation): void\n  [WEBSOCKET_EVENT_ERROR](err: Error): void\n}\n\n/**\n * Події клієнта.\n *\n * Цей інтерфейс описує набір подій, які можуть бути викликані в процесі роботи клієнта.\n */\nexport interface ClientEvents {\n  /**\n   * Викликається при відключенні клієнта.\n   * @param code - Код відключення.\n   * @param err - Інформація про помилку, якщо вона є.\n   */\n  disconnected(code: number, err: Error | null): void\n\n  /**\n   * Викликається при успішному підключенні клієнта.\n   */\n  connected(): void\n\n  /**\n   * Викликається при виникненні помилки.\n   * @param e - Об'єкт помилки.\n   */\n  error(e: Error): void\n\n  /**\n   * Викликається при зміні статусу реєстрації телефону.\n   * @param registered - Булевий статус реєстрації телефону.\n   */\n  phone_registered(registered: boolean): void\n\n  /**\n   * Викликається при зміні статусу підключення телефону.\n   * @param connected - Булевий статус підключення телефону.\n   */\n  phone_connected(connected: boolean): void\n\n  /**\n   * Викликається для оновлення пропущених подій.\n   * @param ev - Об'єкт, що містить інформацію про пропущені події.\n   */\n  refresh_missed(ev: object): void\n\n  /**\n   * Викликається для відображення повідомлення.\n   * @param ev - Об'єкт сповіщення.\n   */\n  show_message(ev: MessageNotification): void\n\n  screenshot(ev: MessageNotification): void\n  open_link(ev: MessageNotification): void\n  screen_rec_start(ev: MessageNotification): void\n  screen_rec_stop(ev: MessageNotification): void\n\n  /**\n   * Викликається при отриманні SDP-повідомлення.\n   * @param sock - Ідентифікатор сокету.\n   * @param ev - Об'єкт події SDP.\n   */\n  sdp(sock: string, ev: SdpEvent): void\n\n  /**\n   * Викликається при отриманні вхідного дзвінка.\n   * @param call - Об'єкт дзвінка.\n   */\n  call_receive(call: Call): void\n\n  /**\n   * Викликається при завершенні дзвінка.\n   * @param call - Об'єкт дзвінка.\n   */\n  call_hangup(call: Call): void\n\n  [WEBSOCKET_EVENT_CALL_MEDIA_METRIC](rtp: RtpMetrics): void\n}\n\n/**\n * Цей клас Client розширює EventEmitter, який використовується для керування подіями,\n * що описані в інтерфейсі ClientEvents. Він має декілька полів для збереження стану клієнта,\n * таких як agent, phone, lastError, lastLatency, а також деякі приватні поля для внутрішнього використання,\n * такі як socket, connectionInfo, reqSeq, queueRequest, log, eventHandler, callStore, conversationStore,\n * pingTimer, та toneTimer.\n * Конструктор класу приймає конфігураційні параметри, які використовуються для ініціалізації клієнта.\n */\nexport class Client extends EventEmitter<ClientEvents> {\n  agent!: Agent\n  phone?: SipClient\n  lastError: null | Error\n  lastLatency: number | null\n  readonly basePath: string\n  private socket!: Socket\n  private connectionInfo!: ConnectionInfo\n\n  private reqSeq = 0\n  private queueRequest: Map<number, PromiseCallback> = new Map<\n    number,\n    PromiseCallback\n  >()\n\n  private ackQueue: Map<string, AckPromiseCallback> = new Map<\n    string,\n    AckPromiseCallback\n  >()\n  private log: Log\n  private eventHandler: EventEmitter<EventHandler>\n  private callStore: Map<string, Call>\n  private spyScreenSessions: SpyScreen[]\n  private senderScreenStore: SenderSession[]\n  private conversationStore: Map<string, Conversation>\n  private pingTimer: number | null\n  private toneTimer: number | null\n  private screenResolver: ScreenResolver | null\n\n  /**\n   * Конструктор для створення екземпляра клієнта.\n   *\n   * @param _config - Конфігураційні параметри клієнта.\n   */\n  constructor(protected readonly _config: Config) {\n    super()\n    this.log = new Log(_config.logLvl)\n    this.eventHandler = new EventEmitter()\n    this.callStore = new Map<string, Call>()\n    this.spyScreenSessions = []\n    this.senderScreenStore = []\n    this.conversationStore = new Map<string, Conversation>()\n    this.pingTimer = null\n    this.toneTimer = null\n    this.basePath = `${formatBaseUri(\n      _config.storageEndpoint || _config.endpoint\n    )}`\n    this.lastError = null\n    this.lastLatency = null\n    this.screenResolver = _config.screenResolver || null\n  }\n\n  async connect() {\n    await this.connectToSocket()\n  }\n\n  async disconnect() {\n    this.socket.close()\n  }\n\n  async subscribeCall(handler: CallEventHandler, data?: object) {\n    const calls = (await this.request(\n      `subscribe_call`,\n      data\n    )) as CallListResponse\n    this.eventHandler.on(WEBSOCKET_EVENT_CALL, handler)\n\n    if (calls.items?.length) {\n      for (const c of calls.items) {\n        if (c.hangup_at && c.hangup_at > 0 && !c.task) {\n          continue\n        }\n\n        const e: CallEventData = {\n          cc_app_id: '', // TODO\n          app_id: c.app_id,\n          event: c.state,\n          id: c.id,\n          timestamp: Date.now(),\n          data: {\n            app_id: c.app_id,\n            event: c.state,\n            id: c.id,\n            timestamp: Date.now(),\n            cc_app_id: '',\n            sip_id: '',\n\n            parent_id: c.parent_id,\n            hide_number: c.hide_number,\n            is_consult_to_queue: c.is_consult_to_queue,\n\n            direction: c.direction,\n            destination: c.destination,\n            queue: c.queue, // TODO\n            from: c.from,\n            to: c.to,\n            payload: c.variables,\n          },\n        }\n\n        const call = new Call(this, e)\n        call.createdAt = c.created_at\n        call.answeredAt = c.answered_at || 0\n        call.bridgedAt = c.bridged_at || 0\n        call.hangupAt = c.hangup_at || 0\n\n        // call.reportingAt = c.reporting_at || 0\n        if (c.task) {\n          let task = this.getTask(c.task.attempt_id!)\n          if (!task) {\n            task = new Task(\n              this,\n              {\n                attempt_id: c.task.attempt_id,\n                channel: c.task.channel,\n                status: c.task.status,\n                timestamp: Date.now(),\n              },\n              c.task\n            )\n\n            task.form = c.task.form || null\n            if (c.leaving_at && c.task.processing_sec) {\n              task.startProcessingAt = c.leaving_at\n              task.setProcessing(c.leaving_at, {\n                sec: c.task.processing_sec || 0,\n                timeout: c.task.processing_timeout_at || null,\n                renewal_sec: c.task.processing_renewal_sec || 0,\n              })\n            }\n          }\n          call.task = task\n          call.queue!.reporting = 'true'\n        }\n\n        if (c.contact_id) {\n          call.setContactId(c.contact_id)\n        }\n\n        this.callStore.set(call.id, call)\n      }\n    }\n\n    return calls\n  }\n  /**\n   * Підписується на події чату.\n   *\n   * @param handler - Обробник подій чату.\n   * @param data - Додаткові дані для підписки (необов'язково).\n   */\n  async subscribeChat(handler: ChatEventHandler, data?: object) {\n    const res = (await this.request(\n      `subscribe_chat`,\n      data\n    )) as ConversationListResponse\n    this.eventHandler.on(WEBSOCKET_EVENT_CHAT, handler)\n\n    if (res?.items) {\n      for (const conv of res.items) {\n        // tslint:disable-next-line: no-assign-mutated-array\n        const messages = conv.messages.reverse()\n\n        const c = new Conversation(\n          this,\n          conv.id,\n          conv.title,\n          conv.members,\n          messages,\n          conv.variables\n        )\n        c.createdAt = conv.created_at\n        c.closedAt = conv.closed_at\n\n        if (conv.task) {\n          let task = this.getTask(conv.task.attempt_id!)\n          if (!task) {\n            task = new Task(\n              this,\n              {\n                attempt_id: conv.task.attempt_id,\n                channel: conv.task.channel,\n                status: conv.task.status,\n                timestamp: Date.now(),\n              },\n              conv.task // todo add app_id\n            )\n            if (conv.leaving_at && conv.task.processing_sec) {\n              task.startProcessingAt = conv.leaving_at\n              task.setProcessing(conv.leaving_at, {\n                sec: conv.task.processing_sec || 0,\n                timeout: conv.task.processing_timeout_at || null,\n                renewal_sec: conv.task.processing_renewal_sec || 0,\n              })\n            }\n            task.form = conv.task.form || null\n          }\n          c.task = task\n        }\n\n        if (conv.invite_id) {\n          c.setInvite(conv.invite_id, conv.created_at)\n        } else if (conv.channel_id) {\n          c.setAnswered(conv.channel_id, conv.joined_at, conv.member!)\n          if (conv.closed_at) {\n            c.setClosed(conv.closed_at)\n          }\n        } else {\n          this.log.error(`conversation ${conv.id} not valid`)\n          continue\n        }\n\n        this.conversationStore.set(c.id, c)\n      }\n    }\n\n    return res\n  }\n\n  async subscribeUsersStatus(handler: UsersStatusEventHandler, data?: object) {\n    const res = await this.request(`subscribe_users_status`, data)\n    this.eventHandler.on(WEBSOCKET_EVENT_USER_STATE, handler)\n\n    return res\n  }\n\n  async subscribeAgentsStatus(handler: AgentStatusEventHandler, data?: object) {\n    const res = await this.request(`cc_agent_subscribe_status`, data)\n    this.eventHandler.on(WEBSOCKET_EVENT_AGENT_STATUS, handler)\n\n    return res\n  }\n\n  getTask(id: number) {\n    if (!this.agent) {\n      return undefined\n    }\n\n    return this.agent.task.get(id)\n  }\n\n  subscribeTask(handler: TaskEventHandler) {\n    this.eventHandler.on(TASK_EVENT, handler)\n  }\n\n  subscribeJob(handler: JobEventHandler) {\n    this.eventHandler.on(JOB_EVENT, handler)\n  }\n\n  async unSubscribe(action: string, _handler: CallEventHandler, data?: object) {\n    return this.request(`un_subscribe_${action}`, data)\n  }\n\n  async destroy() {\n    await this.disconnect()\n    if (this.phone) {\n      await this.phone.unregister()\n      this.phone.off('*')\n      delete this.phone\n    }\n    this.eventHandler.off('*')\n  }\n\n  allCall(): Call[] {\n    return Array.from(this.callStore.values())\n  }\n\n  allConversations(): Conversation[] {\n    return Array.from(this.conversationStore.values())\n  }\n\n  // todo deprecated\n  allTask(): Task[] {\n    if (!this.agent) {\n      return []\n    }\n\n    return Array.from(this.agent.task.values())\n  }\n\n  allJob(): Task[] {\n    return this.allTask().filter(isJobTask)\n  }\n\n  allSpyScreenSessions(): SpyScreen[] {\n    return this.spyScreenSessions\n  }\n\n  callById(id: string): Call | undefined {\n    if (this.callStore.has(id)) {\n      return this.callStore.get(id)\n    }\n  }\n\n  conversationById(id: string): Conversation | undefined {\n    if (this.conversationStore.has(id)) {\n      return this.conversationStore.get(id)\n    }\n  }\n\n  callBySipId(id: string): Call | undefined {\n    for (const call of this.allCall()) {\n      if (call.sipId && id.startsWith(call.sipId)) {\n        // FIXME\n        return call\n      }\n    }\n  }\n\n  async reportingTask(attemptId: number, reporting: Reporting) {\n    return this.request('cc_reporting', {\n      attempt_id: attemptId,\n      ...reporting,\n    })\n  }\n\n  async agentActiveTasks(agentId: number) {\n    return this.request(`cc_agent_tasks`, {\n      agent_id: agentId,\n    })\n  }\n\n  async auth() {\n    try {\n      const resp = await this.request(WEBSOCKET_AUTHENTICATION_CHALLENGE, {\n        token: this._config.token,\n      })\n\n      return resp\n    } catch (err) {\n      this.handleError(err as Error)\n      await this.disconnect()\n      throw err\n    }\n  }\n\n  async ping() {\n    const response = (await this.request(WEBSOCKET_PING, {\n      ping: 1,\n    })) as any\n    if (response?.server_ts) {\n      const ack = {\n        client_ts: 0,\n        client_ack_ts: 0,\n        server_ts: response.server_ts as number,\n        server_ack_ts: 0,\n      }\n\n      return this.calculateLatency(ack)\n    }\n\n    return response\n  }\n\n  sessionInfo(): Session {\n    return this.connectionInfo.session\n  }\n\n  get version(): string {\n    return this.connectionInfo.server_version\n  }\n\n  get buildVersion() {\n    return version\n  }\n\n  get canUseChat() {\n    const info = this.connectionInfo\n\n    return !!info?.use_chat\n  }\n\n  get canUseCC() {\n    const info = this.connectionInfo\n\n    return !!info?.use_cc\n  }\n\n  get instanceId(): string {\n    return this.connectionInfo.sock_id\n  }\n\n  get autoAnswerDelayTime() {\n    return this._config.autoAnswerDelayTime || 400\n  }\n\n  async agentSession() {\n    if (this.agent) {\n      return this.agent\n    }\n\n    const info = await this.request(WEBSOCKET_AGENT_SESSION)\n\n    this.agent = new Agent(this, info as AgentSession)\n\n    const taskList = (await this.agentActiveTasks(\n      this.agent.agentId\n    )) as TaskListResponse\n\n    // todo\n    for (const t of taskList.items) {\n      const task = new Task(\n        this,\n        {\n          status: t.status,\n          timestamp: Date.now(),\n          channel: t.channel,\n          attempt_id: t.attempt_id,\n        },\n        t\n      )\n      task.postProcessData = {}\n      task.setState(t.state)\n      if (t.bridged_at) {\n        task.bridgedAt = t.bridged_at\n        task.answeredAt = t.bridged_at\n      }\n      if (t.leaving_at) {\n        task.closedAt = t.leaving_at\n      }\n\n      if (t.leaving_at && t.processing_sec) {\n        task.startProcessingAt = t.leaving_at\n        task.setProcessing(t.leaving_at, {\n          sec: t.processing_sec || 0,\n          timeout: t.processing_timeout_at || null,\n          renewal_sec: t.processing_renewal_sec || 0,\n        })\n      }\n      task.form = t.form || null\n\n      this.agent.task.set(task.id, task)\n    }\n\n    for (const call of this.allCall()) {\n      if (call.task) {\n        this.agent.task.set(call.task.id, call.task)\n      }\n    }\n\n    for (const conv of this.allConversations()) {\n      if (conv.task) {\n        this.agent.task.set(conv.task.id, conv.task)\n      }\n    }\n\n    return this.agent\n  }\n\n  async invite(req: OutboundCallRequest) {\n    return this.request(WEBSOCKET_MAKE_OUTBOUND_CALL, req)\n  }\n\n  async call(req: OutboundCallRequest) {\n    if (this.phone) {\n      try {\n        await this.phone.call(req)\n      } catch (e) {\n        this.handleError(e as Error)\n      }\n    } else {\n      await this.invite(req)\n    }\n  }\n\n  async callRecordId(id: string) {\n    return this.request('call_recordings', { id })\n  }\n\n  async eavesdrop(req: EavesdropRequest) {\n    return this.request('call_eavesdrop', req)\n  }\n\n  async agentSetOnline(\n    agentId: number,\n    channels?: string[],\n    onDemand?: boolean\n  ) {\n    return this.request('cc_agent_online', {\n      agent_id: agentId,\n      channels,\n      on_demand: onDemand,\n    })\n  }\n\n  async agentSetWaiting(agentId: number, channel: string) {\n    return this.request('cc_agent_waiting', {\n      agent_id: agentId,\n      channel,\n    })\n  }\n\n  async agentSetPause(agentId: number, payload?: any) {\n    return this.request('cc_agent_pause', {\n      agent_id: agentId,\n      payload,\n    })\n  }\n\n  async agentSetOffline(agentId: number) {\n    return this.request('cc_agent_offline', { agent_id: agentId })\n  }\n\n  inviteToUser(req: UserCallRequest) {\n    return this.request(WEBSOCKET_MAKE_USER_CALL, req)\n  }\n\n  async answer(id: string, req: AnswerRequest) {\n    const call = this.callById(id)\n    if (call) {\n      return call.answer(req)\n    }\n  }\n\n  request(action: string, data?: object): Promise<object> {\n    // @ts-ignore\n    return new Promise<Error>((resolve: () => void, reject: () => void) => {\n      this.queueRequest.set(++this.reqSeq, { resolve, reject })\n      this.socket.send({\n        seq: this.reqSeq,\n        action,\n        data,\n      })\n    })\n  }\n\n  ackRequest(action: string, data?: object, timeout?: number): Promise<object> {\n    // @ts-ignore\n    return new Promise<Error>(\n      // @ts-ignore\n      async (resolve: (res: object) => void, reject: (e: object) => void) => {\n        const id = `${generateId()}/${this.sessionInfo().user_id}/${\n          this.instanceId\n        }`\n        const ack = {\n          resolve,\n          reject,\n          timerId: 0,\n        } as AckPromiseCallback\n        this.ackQueue.set(id, ack)\n        try {\n          await this.request(action, {\n            ...data,\n            ack_id: id,\n          })\n\n          if (timeout && timeout > 0) {\n            ack.timerId = setTimeout(() => {\n              this.ackQueue.delete(id)\n              reject(new Error('timeout'))\n            }, timeout)\n          }\n        } catch (e) {\n          this.ackQueue.delete(id)\n          reject(e as object)\n        }\n      }\n    )\n  }\n\n  useWebPhone(): boolean {\n    return this._config.registerWebDevice || false\n  }\n\n  callDestroyed(call: Call) {\n    return call.hangupAt > 0 && !this.hasAgentTask(call.task)\n  }\n\n  conversationDestroyed(conv: Conversation) {\n    return (\n      conv.closedAt > 0 && (!this.hasAgentTask(conv.task) || !conv.hasReporting)\n    )\n  }\n\n  reportingChannelTask(task: Task) {\n    switch (task.channel) {\n      case ChannelName.Call:\n      case ChannelName.OutCall:\n        for (const call of this.allCall()) {\n          if (this.callDestroyed(call)) {\n            this.destroyCall(call)\n\n            return\n          }\n        }\n        break\n\n      case ChannelName.Chat:\n        if (task.agentChannelId) {\n          const conv = this.conversationById(task.agentChannelId)\n          if (conv && this.conversationDestroyed(conv)) {\n            this.destroyConversation(conv)\n\n            return\n          }\n        }\n        break\n\n      default:\n    }\n  }\n\n  updateAudioProcessing(processing: AudioProcessingConfig) {\n    this._config.echoCancellation = processing.echoCancellation\n    this._config.noiseSuppression = processing.noiseSuppression\n    this._config.autoGainControl = processing.autoGainControl\n    if (this.phone) {\n      this.phone.setAudioProcessing(processing)\n    }\n  }\n\n  async registerCallClient(phone: SipClient) {\n    this.phone = phone\n    this.subscribePhone(phone)\n\n    try {\n      const conf = await this.deviceConfig(this.phone.type)\n      await this.phone.register(conf as SipConfiguration)\n    } catch (e) {\n      this.emit('error', e as Error)\n    }\n  }\n\n  subscribePhone(phone: SipClient) {\n    phone.on(\n      'peerStreams',\n      (session: CallSession, streams: MediaStream[] | null) => {\n        const call = this.callBySession(session)\n        if (call && !call.peerStreams.length) {\n          call.setPeerStreams(streams)\n          this.eventHandler.emit(\n            WEBSOCKET_EVENT_CALL,\n            CallActions.PeerStream,\n            call\n          )\n        }\n      }\n    )\n\n    phone.on(\n      'localStreams',\n      (session: CallSession, streams: MediaStream[] | null) => {\n        const call = this.callBySession(session)\n        if (call && !call.localStreams.length) {\n          call.setLocalStreams(streams)\n          this.eventHandler.emit(\n            WEBSOCKET_EVENT_CALL,\n            CallActions.LocalStream,\n            call\n          )\n        }\n      }\n    )\n\n    phone.on('newSession', this.onNewCallSession.bind(this))\n    phone.on('info', this.onCallInfoSession.bind(this))\n    phone.on('registered', () => this.emit('phone_registered', true))\n    phone.on('connected', () => this.emit('phone_connected', true))\n    phone.on('unregistered', () => this.emit('phone_registered', false))\n  }\n\n  phoneIsRegister() {\n    if (this.phone?.isRegistered) {\n      return this.phone.isRegistered()\n    }\n\n    return false\n  }\n\n  async deviceConfig(name?: string) {\n    return this.request(WEBSOCKET_DEFAULT_DEVICE_CONFIG, { name })\n  }\n\n  async storeFile(\n    id: string,\n    files: File[],\n    cb?: FileUploadProgress,\n    channel?: string\n  ) {\n    if (!files || files.length < 1) {\n      throw new Error('no files')\n    }\n\n    const formData = new FormData()\n\n    for (const file of files) {\n      formData.append(file.name, file) // todo name\n    }\n\n    let url = `${this.basePath}/api/storage/file/${id}/upload`\n    if (channel) {\n      url += `?channel=${channel}`\n    }\n\n    const result = await Axios.post<StorageShareFile[]>(url, formData, {\n      headers: {\n        [API_HEADER_TOKEN]: this._config.token as string,\n      },\n      onUploadProgress: cb,\n    })\n\n    const data = result.data\n    for (const f of data) {\n      f.shared = this.basePath + f.shared\n    }\n\n    return data\n  }\n\n  fileUrlDownload(fileId: number, mime: string) {\n    const params = this.fileUrlParams(mime)\n\n    return `${this.basePath}/api/storage/file/${fileId}/download?${params.join(\n      '&'\n    )}`\n  }\n\n  fileUrlStream(fileId: number, mime: string) {\n    const params = this.fileUrlParams(mime)\n\n    return `${this.basePath}/api/storage/file/${fileId}/stream?${params.join(\n      '&'\n    )}`\n  }\n\n  handleError(e?: Error) {\n    if (e) {\n      switch (e.name) {\n        case HandleError.NotFoundError:\n          this.emit('error', new DeviceNotFoundError(e.message))\n          break\n        case HandleError.NotAllowedError:\n          this.emit('error', new DeviceNotAllowPermissionError(e.message))\n          break\n        default:\n          if (e.name !== 'INVALID_STATE_ERROR') {\n            // TODO: DEV-3409\n            this.emit('error', e)\n          }\n      }\n    }\n  }\n\n  destroyConversation(conv: Conversation) {\n    // FIXME sync channel & call event\n    this.conversationStore.delete(conv.id)\n    this.eventHandler.emit(WEBSOCKET_EVENT_CHAT, ChatActions.Destroy, conv)\n  }\n\n  removeSpyScreen(id: string) {\n    const idx = this.spyScreenSessions.findIndex((i) => i.id === id)\n    if (idx !== -1) {\n      this.spyScreenSessions.splice(idx, 1)\n\n      return true\n    }\n\n    return false\n  }\n\n  async spyScreen(\n    agentId: number,\n    conf: RTCConfiguration,\n    cb: (m: MediaStream) => void,\n    timeout?: number\n  ) {\n    let rtcConf = conf\n    if (this.connectionInfo.rtc_configuration) {\n      rtcConf = this.connectionInfo.rtc_configuration\n    }\n\n    const s = new SpyScreen(this, agentId, rtcConf, this.log)\n    s.on('close', () => {\n      this.removeSpyScreen(s.id)\n    })\n    s.on('stream', cb)\n    this.spyScreenSessions.push(s)\n\n    try {\n      const offer = await s.offer()\n      await this.ackRequest(\n        `ss_invite`,\n        {\n          id: s.id,\n          sdp: offer.sdp,\n          to_user_id: agentId,\n        },\n        timeout || 10000\n      ) // TODO fix timeout\n    } catch (e) {\n      this.removeSpyScreen(s.id)\n      this.log.error('error ', e)\n      throw e\n    }\n\n    return\n  }\n\n  private async onMessage(message: Message) {\n    this.log.debug('receive message: ', message)\n    if (message.seq_reply! > 0) {\n      if (this.queueRequest.has(message.seq_reply!)) {\n        const promise = this.queueRequest.get(message.seq_reply!)\n        this.queueRequest.delete(message.seq_reply!)\n        if (message.status === Response.STATUS_OK) {\n          promise!.resolve(message.data)\n        } else {\n          const err = message.error as BaseError\n          if (err && err.id === TypeErrors.RolePermission) {\n            promise!.reject(new RolePermissionError(err.detail))\n          } else if (err && err.id === TypeErrors.LicencePermission) {\n            promise!.reject(new LicencePermissionError(err.detail))\n          } else {\n            promise!.reject(message.error!)\n          }\n        }\n      }\n    } else {\n      switch (message.event) {\n        case WEBSOCKET_EVENT_HELLO:\n          await this.connected(message.data as ConnectionInfo)\n          this.log.debug(\n            `opened session ${this.connectionInfo.sock_id} for userId=${\n              this.connectionInfo.session.user_id\n            }`\n          )\n          break\n        case WEBSOCKET_EVENT_CALL:\n          await this.handleCallEvents(message.data.call as CallEventData)\n          break\n        case WEBSOCKET_EVENT_CHAT:\n          await this.handleChatEvents(message.data as ChatEvent)\n          break\n        case WEBSOCKET_EVENT_USER_STATE:\n          this.handleUserStateEvent(message.data.state as UserStatus)\n          break\n\n        case WEBSOCKET_EVENT_SIP:\n          this.eventHandler.emit(WEBSOCKET_EVENT_SIP, message.data)\n          break\n\n        case WEBSOCKET_EVENT_SDP:\n          this.emit(\n            WEBSOCKET_EVENT_SDP,\n            message.sock_id as string,\n            message.data\n          )\n          break\n\n        case WEBSOCKET_EVENT_AGENT_STATUS:\n          this.handleAgentStatus(message.data as AgentStatusEvent)\n          break\n        case WEBSOCKET_EVENT_CHANNEL_STATUS:\n          this.handleChannelEvents(message.data as ChannelEvent)\n          break\n        case WEBSOCKET_EVENT_ERROR:\n          this.lastError = message.data.error\n          break\n\n        case WEBSOCKET_EVENT_NOTIFICATION:\n          await this.handleNotification(\n            message.data.notification as Notification\n          )\n          break\n        default:\n          this.log.error(`event ${message.event} not handler`)\n      }\n    }\n  }\n\n  private async handleNotification(e: Notification) {\n    switch (e.action) {\n      case NotificationActions.HideMember:\n        if (this.agent?._listOfflineMembers) {\n          const list = this.agent._listOfflineMembers\n          if (list.items) {\n            for (let i = 0; i < list.items.length; i++) {\n              if (list.items[i].id === e.body!.member_id) {\n                list.items.splice(i, 1)\n                break\n              }\n            }\n          }\n        }\n        break\n      case NotificationActions.SetContact:\n        if (e.body) {\n          const contactId = e.body.contact_id as number\n          const channel = e.body.channel as string\n          switch (channel) {\n            case 'chat': {\n              const conv = this.conversationById(e.body.id as string)\n              if (conv) {\n                conv.setContactId(contactId)\n              }\n              break\n            }\n            default: {\n              const call = this.callById(e.body.id as string)\n              if (call) {\n                call.setContactId(contactId)\n              }\n            }\n          }\n        }\n        break\n      case NotificationActions.WaitingList:\n        if (this.agent) {\n          this.agent.setWaitingList(e.body)\n        }\n        break\n      case NotificationActions.HideAttempt:\n        if (this.agent) {\n          this.agent.deleteWaitingAttempt(e.body)\n        }\n        break\n      case NotificationActions.RefreshMissed:\n        this.emit(`refresh_missed`, e.body as object)\n        break\n      case NotificationActions.ShowMessage:\n        this.emit(`show_message`, e.body as MessageNotification)\n        break\n      case NotificationActions.OpenLink:\n        this.emit(`open_link`, e.body as MessageNotification)\n        break\n\n      case NotificationActions.StartScreenRecord: {\n        const msgRecStart = e.body as MessageNotification\n        this.emit(`screen_rec_start`, msgRecStart)\n        if (msgRecStart.ack_id) {\n          await this.request('ss_ack', {\n            ack_id: msgRecStart.ack_id,\n          })\n        }\n        break\n      }\n      case NotificationActions.StopScreenRecord: {\n        const msgRecStop = e.body as MessageNotification\n        this.emit(`screen_rec_stop`, msgRecStop)\n        if (msgRecStop.ack_id) {\n          await this.request('ss_ack', {\n            ack_id: msgRecStop.ack_id,\n          })\n        }\n        break\n      }\n\n      case NotificationActions.Screenshot: {\n        const msgScreenshot = e.body as MessageNotification\n        this.emit(`screenshot`, msgScreenshot)\n        if (msgScreenshot.ack_id) {\n          await this.request('ss_ack', {\n            ack_id: msgScreenshot.ack_id,\n          })\n        }\n\n        break\n      }\n\n      case NotificationActions.ACK: {\n        const ackMsg = e.body as MessageNotification\n        const ack = this.ackQueue.get(ackMsg.ack_id!)\n        if (ack) {\n          clearTimeout(ack.timerId)\n          this.ackQueue.delete(ackMsg.ack_id!)\n          if (ackMsg.error) {\n            ack.reject(new Error(ackMsg.error))\n          } else {\n            ack.resolve({})\n          }\n        }\n\n        break\n      }\n\n      case NotificationActions.ScreenShare: {\n        const body = e.body as MessageScreenShare\n        switch (body.state) {\n          case 'invite': {\n            if (!this.screenResolver) {\n              throw new Error('not found screenResolver')\n            }\n            let displayMediaStreamOptions = {}\n            let RTCConfigurationConf = {}\n\n            if (body.screenConstraints) {\n              displayMediaStreamOptions = body.screenConstraints\n            }\n\n            if (body.RTCConfiguration) {\n              RTCConfigurationConf = body.RTCConfiguration\n            } else if (this.connectionInfo.rtc_configuration) {\n              RTCConfigurationConf = this.connectionInfo.rtc_configuration\n            }\n\n            const stream = await this.screenResolver(displayMediaStreamOptions)\n            const s = new SenderSession(\n              body.sdp,\n              {\n                id: body.from_user_id!,\n                sockId: body.sock_id!,\n                sessionId: body.parent_id!,\n              },\n              RTCConfigurationConf,\n              this.log\n            )\n\n            s.on('close', () => {\n              this.senderScreenStore = this.senderScreenStore.filter(\n                (i) => i.id !== s.id\n              )\n            })\n            s.on('stream', async (rtc: RTCSessionDescription) => {\n              await this.request(`ss_accept`, {\n                id: s.id,\n                sdp: rtc.sdp,\n                to_user_id: s.from.id,\n                sock_id: s.from.sockId,\n                session_id: s.from.sessionId,\n              })\n            })\n            this.senderScreenStore.push(s)\n\n            // tslint:disable-next-line: no-floating-promises\n            s.start(stream)\n            if (body.ack_id) {\n              await this.request('ss_ack', {\n                ack_id: body.ack_id,\n              })\n            }\n\n            break\n          }\n\n          case 'accept': {\n            const receive = this.spyScreenSessions.filter(\n              (i) => i.id === body.session_id!\n            )[0]\n            if (receive) {\n              // tslint:disable-next-line: no-floating-promises\n              receive.answerSession(body.from_sock_id!, {\n                type: 'answer',\n                sdp: body.sdp,\n              })\n            }\n            if (body.ack_id) {\n              await this.request('ss_ack', {\n                ack_id: body.ack_id,\n              })\n            }\n            break\n          }\n\n          default:\n            this.log.error(`notification \"${e.action}\" not handled`)\n        }\n        break\n      }\n\n      default:\n        this.log.error(`notification \"${e.action}\" not handled`)\n    }\n  }\n\n  private handleAgentStatus(e: AgentStatusEvent) {\n    if (this.agent && e.agent_id === this.agent.agentId) {\n      this.agent.setStatus(e)\n    }\n\n    this.eventHandler.emit(WEBSOCKET_EVENT_AGENT_STATUS, e, this.agent)\n  }\n\n  private handleChannelEvents(e: ChannelEvent) {\n    if (this.agent) {\n      e.timestamp = Date.now() // bug\n      const task = this.agent.onChannelEvent(e) || undefined\n      this.eventHandler.emit(TASK_EVENT, e.status, task)\n      if (task && isJobTask(task)) {\n        this.eventHandler.emit(JOB_EVENT, task.state, task)\n        if (isDestroyJob(task.state)) {\n          this.eventHandler.emit(JOB_EVENT, JobState.Destroy, task)\n        }\n      }\n    }\n  }\n\n  private deadlinePingTime(interval: number) {\n    if (interval > 10000) {\n      return interval / 2\n    }\n\n    return 3000\n  }\n\n  private async pingServer() {\n    if (this.pingTimer && this.connectionInfo.ping_interval) {\n      const t = setTimeout(async () => {\n        this.log.error('close socket without pong')\n        this.socket.close(3005)\n      }, this.deadlinePingTime(this.connectionInfo.ping_interval))\n      await this.ping()\n      clearTimeout(t)\n    }\n    if (this.connectionInfo.ping_interval) {\n      // @ts-ignore\n      this.pingTimer = setTimeout(\n        this.pingServer.bind(this),\n        +this.connectionInfo.ping_interval\n      )\n    }\n  }\n\n  private async connected(info: ConnectionInfo) {\n    this.connectionInfo = info\n\n    if (info.ping_interval) {\n      await this.pingServer()\n    }\n\n    if (!this.useWebPhone()) {\n      return\n    }\n\n    const audioProcessing = {\n      echoCancellation: this._config.echoCancellation,\n      noiseSuppression: this._config.noiseSuppression,\n      autoGainControl: this._config.autoGainControl,\n    }\n\n    return this.registerCallClient(\n      this.connectionInfo.b2bua\n        ? new ExperimentalPhone(this, audioProcessing)\n        : new SipPhone(this.instanceId, this._config.debug, audioProcessing)\n    )\n  }\n\n  private async calculateLatency(ack: Latency) {\n    ack.client_ts = Date.now()\n    Object.assign(\n      ack,\n      await this.request(`latency_ack`, {\n        ...ack,\n        last_latency: this.lastLatency || 0,\n      })\n    )\n    ack.client_ack_ts = Date.now()\n    this.lastLatency = Math.abs(\n      ack.server_ack_ts -\n        ack.server_ts -\n        (ack.client_ack_ts - ack.client_ts) * 0.5\n    )\n    this.log.info(`[websocket] latency: ${this.lastLatency}`)\n\n    return this.lastLatency\n  }\n\n  private callBySession(session: CallSession): Call | undefined {\n    for (const call of this.allCall()) {\n      if (call.sip && call.sip.id === session.id) {\n        return call\n      }\n    }\n  }\n\n  private onCallInfoSession(session: CallSession) {\n    const call = this.callBySession(session)\n    if (call) {\n      this.eventHandler.emit(WEBSOCKET_EVENT_CALL, CallActions.Info, call)\n    }\n  }\n\n  private async onNewCallSession(session: CallSession) {\n    let call: Call | undefined\n    if (session.callId) {\n      call = this.callById(session.callId)\n    } else {\n      call = this.callBySipId(session.id)\n    }\n\n    if (call) {\n      call.setSip(session)\n      this.checkAutoAnswer(call)\n    }\n  }\n\n  private checkAutoAnswer(call: Call) {\n    if (/*!document.hidden && */ call.autoAnswer) {\n      call.answerDelay({\n        video: call.params.video,\n        screen: call.params.screen,\n        disableStun: call.params.disableStun,\n      })\n    }\n  }\n\n  private connectToSocket(): Promise<Error | null> {\n    return new Promise<Error | null>((resolve, reject) => {\n      try {\n        this.socket = new Socket(\n          this._config.endpoint,\n          this._config.applicationName,\n          this.buildVersion\n        )\n        this.socket.connect(this._config.token!)\n      } catch (e) {\n        reject(e)\n\n        return\n      }\n\n      this.socket.on('message', this.onMessage.bind(this))\n      this.socket.on('close', (code: number) => {\n        if (this.pingTimer) {\n          clearTimeout(this.pingTimer)\n        }\n        this.log.error('socket close code: ', code)\n        if (code !== 1000) {\n          this.emit('disconnected', code, this.lastError)\n          reject(new Error(`close socket code: ${code}`))\n        }\n        this.eventHandler.off('*')\n      })\n      this.socket.on('open', () => {\n        resolve(null)\n        this.emit('connected')\n      })\n    })\n  }\n\n  private handleUserStateEvent(event: UserStatus) {\n    this.eventHandler.emit(WEBSOCKET_EVENT_USER_STATE, event)\n  }\n\n  private async handleCallEvents(event: CallEventData) {\n    let call: Call | undefined\n    event.timestamp = Date.now() // todo bug\n\n    switch (event.event) {\n      case CallActions.Ringing:\n        call = new Call(this, event)\n        this.emit('call_receive', call)\n\n        this.callStore.set(call.id, call)\n        this.checkAutoAnswer(call)\n        break\n\n      case CallActions.Active:\n        call = this.callById(event.id)\n        if (call) {\n          call.setActive(event)\n        }\n        break\n      case CallActions.Progress:\n        return\n\n      case CallActions.Bridge:\n        call = this.callById(event.id)\n        if (call) {\n          call.setBridged(event)\n        }\n        break\n\n      case CallActions.Execute:\n        call = this.callById(event.id)\n        if (call) {\n          call.setExecute(event.data as CallEventExecute)\n        }\n        break\n\n      case CallActions.DTMF:\n        call = this.callById(event.id)\n        if (call) {\n          call.addDigit(event.data as CallEventDTMF)\n        }\n        break\n\n      case CallActions.Eavesdrop:\n        call = this.callById(event.id)\n        if (call) {\n          call.setEavesdropState(event.data as CallEventEavesdrop)\n        }\n        break\n\n      case CallActions.Voice:\n        call = this.callById(event.id)\n        if (call) {\n          call.setVoice()\n        }\n        break\n\n      case CallActions.Silence:\n        call = this.callById(event.id)\n        if (call) {\n          call.setSilence()\n        }\n        break\n\n      case CallActions.Hold:\n        call = this.callById(event.id)\n        if (call) {\n          call.setHold(event)\n        }\n        break\n\n      case CallActions.Hangup:\n        call = this.callById(event.id)\n        if (call) {\n          call.setHangup(event)\n          this.emit('call_hangup', call)\n\n          if (call.notificationHangup) {\n            this.generateTone()\n          }\n        }\n        break\n      case CallActions.Stats:\n        this.emit(\n          WEBSOCKET_EVENT_CALL_MEDIA_METRIC,\n          (event.data as CallMediaStats).rtp\n        )\n        break\n\n      default:\n        throw new Error(`Unhandled event ${event.event}`)\n    }\n\n    if (call) {\n      try {\n        this.eventHandler.emit(WEBSOCKET_EVENT_CALL, event.event, call)\n      } catch (e) {\n        // @ts-ignore\n        this.log.error(e.message)\n      }\n\n      if (this.callDestroyed(call)) {\n        this.destroyCall(call)\n      }\n    }\n  }\n\n  private generateTone() {\n    if (this.toneTimer) {\n      return\n    }\n\n    try {\n      const context = new AudioContext()\n      const oscillator = context.createOscillator() // Oscillator defaults to sine wave\n      oscillator.connect(context.destination)\n      // @ts-ignore\n      // oscillator.type = \"sawtooth\";\n      oscillator.start()\n      // @ts-ignore\n      this.toneTimer = setTimeout(() => {\n        this.toneTimer = null\n        oscillator.stop()\n      }, 500)\n    } catch (e) {\n      this.emit('error', e as Error)\n    }\n  }\n\n  private async handleChatEvents(event: ChatEvent) {\n    let conversation: Conversation | undefined\n    const timestamp = Date.now() // todo bug\n\n    switch (event.action) {\n      case ChatActions.UserInvite: {\n        const inv = event.data as InviteEvent\n        conversation = new Conversation(\n          this,\n          inv.conversation_id,\n          inv.title,\n          inv.members,\n          inv.messages,\n          inv.variables\n        )\n        conversation.setInvite(inv.invite_id, timestamp)\n        this.conversationStore.set(conversation.id, conversation)\n        break\n      }\n\n      case ChatActions.MessageDeleted: {\n        const deleted = event.data as MessageDeleted\n        // fixme\n        for (const v of this.allConversations()) {\n          if (!v.closedAt && v.membersId.indexOf(deleted.channel_id) > -1) {\n            conversation = v\n            break\n          }\n        }\n        if (conversation) {\n          conversation.setDeletedMessage(deleted)\n        }\n\n        return\n      }\n\n      case ChatActions.Joined: {\n        const joined = event.data as JoinedEvent\n        conversation = this.conversationById(joined.member.id!)\n        if (conversation) {\n          conversation.setAnswered(joined.member.id!, timestamp, joined.member)\n        }\n\n        break\n      }\n\n      case ChatActions.Message: {\n        const message = event.data as MessageEvent\n        message.timestamp = timestamp\n        // fixme\n        for (const v of this.allConversations()) {\n          if (!v.closedAt) {\n            if (v.membersId.indexOf(message.channel_id) > -1) {\n              conversation = v\n            } else if (\n              !message.channel_id &&\n              v.getConversationId === message.conversation_id\n            ) {\n              conversation = v\n            }\n\n            if (conversation) {\n              break\n            }\n          }\n        }\n        if (conversation) {\n          conversation.newMessage(message)\n        }\n        break\n      }\n\n      case ChatActions.Close: {\n        const c = event.data as CloseEvent\n        // fixme\n        for (const v of this.allConversations()) {\n          if (!v.closedAt && v.membersId.indexOf(c.from_channel_id) > -1) {\n            conversation = v\n          }\n        }\n        if (conversation) {\n          conversation.setClosed(timestamp)\n        }\n        break\n      }\n      case ChatActions.Leave: {\n        const l = event.data as LeavedEvent\n        conversation = this.conversationById(l.leaved_channel_id)\n        if (conversation) {\n          conversation.setLeave(l)\n        }\n        break\n      }\n      case ChatActions.Decline: {\n        const e = event.data as DeclineInviteEvent\n        conversation = this.conversationById(e.invite_id)\n        if (conversation) {\n          conversation.setDecline(e)\n        }\n        break\n      }\n\n      default:\n    }\n\n    if (conversation) {\n      conversation.lastAction = event.action as ChatActions\n      if (conversation.meetingId) {\n        for (const c of this.allCall()) {\n          if (c.meetingId === conversation.meetingId) {\n            c.conversation = conversation\n          } else {\n            this.log.error('not found')\n          }\n        }\n\n        return\n      }\n\n      this.eventHandler.emit(WEBSOCKET_EVENT_CHAT, event.action, conversation)\n\n      if (this.conversationDestroyed(conversation)) {\n        this.destroyConversation(conversation)\n      }\n    }\n  }\n\n  private hasAgentTask(task: Task | null | undefined): boolean {\n    if (!this.agent || !task) {\n      return false\n    }\n\n    return this.agent.hasTask(task)\n  }\n\n  private destroyCall(call: Call) {\n    // FIXME sync channel & call event\n    this.callStore.delete(call.id)\n    this.eventHandler.emit(WEBSOCKET_EVENT_CALL, CallActions.Destroy, call)\n  }\n\n  private fileUrlParams(mime: string) {\n    const params = [`access_token=${this._config.token}`]\n\n    if (mime) {\n      const source = mime.replace(/.*;\\s?source=([-._A-Za-z0-9/]+).*/, '$1')\n      if (source) {\n        params.push(`source=${source}`)\n      }\n    }\n\n    return params\n  }\n}\n\nfunction isJobTask(task: Task) {\n  return task.channel === ChannelName.Task\n}\n\nfunction isDestroyJob(state: string) {\n  return (\n    [\n      ChannelState.Missed.toString(),\n      ChannelState.Waiting,\n      ChannelState.WrapTime,\n      JobState.Closed,\n    ].indexOf(state) > -1\n  )\n}\n","import type { CallSession } from '../index'\n\nimport type { ExternalClient } from './index'\n\nexport default class Session implements CallSession {\n  callId: string\n  incoming: boolean\n  instanceId: string\n\n  constructor(\n    private client: ExternalClient,\n    id: string\n  ) {\n    this.callId = id\n    this.incoming = false\n    this.instanceId = 'fixme'\n  }\n\n  get id(): string {\n    return this.callId\n  }\n\n  getLocalMedia(): MediaStream[] {\n    return []\n  }\n  getPeerMedia(): MediaStream[] {\n    return []\n  }\n  answer(_s: object): Promise<Error> {\n    return new Promise<Error>((resolve) => {\n      this.client.answer(this.id)\n      // @ts-ignore\n      resolve()\n    })\n  }\n}\n","import { EventEmitter } from 'ee-ts/lib/ee'\nimport type {\n  Answer,\n  AudioProcessingConfig,\n  CallSession,\n  Outbound,\n  SipClient,\n  SipClientEvents,\n  SipConfiguration,\n} from '../index'\n\nimport Session from './session'\n\nexport class ExternalClient\n  extends EventEmitter<SipClientEvents>\n  implements SipClient\n{\n  readonly type = 'external'\n  readonly schema = 'wtel://'\n  constructor(private config: object | undefined) {\n    super()\n  }\n\n  async callOption(req: Answer): Promise<object | Error> {\n    return req\n  }\n  async register(_sipConf: SipConfiguration): Promise<Error | undefined> {\n    return\n  }\n  async unregister(): Promise<undefined | Error> {\n    return\n  }\n\n  async call(req: Outbound): Promise<undefined | Error> {\n    if (!req.destination) {\n      return\n    }\n\n    this.exec(req.destination)\n  }\n\n  answer(id: string) {\n    this.exec(id, 'answer')\n  }\n\n  isRegistered() {\n    return false\n  }\n\n  sipSessionByCallId(id: string): CallSession | null {\n    return new Session(this, id)\n  }\n  sipSessionBySipId(_id: string): CallSession | null {\n    return null\n  }\n\n  setAudioProcessing(_processing: AudioProcessingConfig): void {\n    return\n  }\n\n  open(token: string) {\n    this.exec(\n      encodeURIComponent(\n        JSON.stringify({\n          token,\n          ...this.config,\n        })\n      ),\n      'open'\n    )\n  }\n\n  private exec(args: string, action?: string) {\n    // TODO escape\n    let url = `${this.schema}${args}`\n    if (action) {\n      url += ` ${action}`\n    }\n\n    const link = document.createElement('a')\n    link.download = 'File name'\n    link.href = url\n    link.click()\n\n    return\n  }\n}\n"],"mappings":"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AM,YACJ,MACA,MACA,GACA,MACA,QACA,IACA,eACA,cACA,QACA,UACA,WACA,cACA,SACA,SACA,eACA,QACA,WACA,WACA,YACA,SAMA;GACA,MAAM,oBAAoB,MAAM,iCAC9B,aACF,CAAC,CAAC,YACA,MACA,MACA,GACA,MACA,QACA,IACA,eACA,cACA,QACA,UACA,WACA,cACA,SACA,SACA,eACA,QACA,WACA,WACA,YACA,OACF;GACA,QACE,QAAuB,aACvB,WAAmB,cAChB;IACH,MAAM,mBAAmB;KACvB,GAAG,kBAAkB;KACrB,KAAK,WAAW,kBAAkB;IACpC;IACA,OAAO,MAAM,QAAQ,gBAAgB;GACvC;EACF;;;;;;;;;;;;;;;EAeA,MAAM,0BACJ,MACA,MACA,UACA,QACA,SACA,UACA,GACA,QACA,MACA,SAMA;GACA,MAAM,oBAAoB,MAAM,iCAC9B,aACF,CAAC,CAAC,0BACA,MACA,MACA,UACA,QACA,SACA,UACA,GACA,QACA,MACA,OACF;GACA,QACE,QAAuB,aACvB,WAAmB,cAChB;IACH,MAAM,mBAAmB;KACvB,GAAG,kBAAkB;KACrB,KAAK,WAAW,kBAAkB;IACpC;IACA,OAAO,MAAM,QAAQ,gBAAgB;GACvC;EACF;;;;;;;;;;;;EAYA,MAAM,mBACJ,IACA,MACA,MACA,GACA,MACA,QACA,SAMA;GACA,MAAM,oBAAoB,MAAM,iCAC9B,aACF,CAAC,CAAC,mBAAmB,IAAI,MAAM,MAAM,GAAG,MAAM,QAAQ,OAAO;GAC7D,QACE,QAAuB,aACvB,WAAmB,cAChB;IACH,MAAM,mBAAmB;KACvB,GAAG,kBAAkB;KACrB,KAAK,WAAW,kBAAkB;IACpC;IACA,OAAO,MAAM,QAAQ,gBAAgB;GACvC;EACF;;;;;;;;EAQA,MAAM,6BACJ,SACA,UACA,SAMA;GACA,MAAM,oBAAoB,MAAM,iCAC9B,aACF,CAAC,CAAC,6BAA6B,SAAS,UAAU,OAAO;GACzD,QACE,QAAuB,aACvB,WAAmB,cAChB;IACH,MAAM,mBAAmB;KACvB,GAAG,kBAAkB;KACrB,KAAK,WAAW,kBAAkB;IACpC;IAC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UACA,OACA,YACA,UACA,QACA,WACA,gBACA,cACA,QACA,cACA,YACA,cACA,OACA,SAGA;GACA,MAAM,oBAAoB,MAAM,gCAC9B,aACF,CAAC,CAAC,iBACA,MACA,MACA,GACA,MACA,QACA,eACA,aACA,QACA,SACA,SACA,QACA,UACA,WACA,cACA,YACA,YACA,UACA,OACA,YACA,UACA,QACA,WACA,gBACA,cACA,QACA,cACA,YACA,cACA,OACA,OACF;GACA,QACE,QAAuB,aACvB,WAAmB,cAChB;IACH,MAAM,mBAAmB;KACvB,GAAG,kBAAkB;KACrB,KAAK,WAAW,kBAAkB;IACpC;IACA,OAAO,MAAM,QAAQ,gBAAgB;GACvC;EACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6DA,MAAM,kBACJ,MACA,MACA,GACA,MACA,QACA,eACA,aACA,QACA,SACA,SACA,QACA,UACA,WACA,cACA,YACA,YACA,UACA,OACA,SACA,UACA,QACA,WACA,gBACA,cACA,QACA,cACA,YACA,IACA,cACA,YACA,cACA,MACA,iBACA,WACA,KACA,YACA,eACA,kBACA,SACA,WACA,aACA,UACA,QACA,OACA,SACA,mBACA,iBACA,mBACA,iBACA,WACA,WACA,UACA,aACA,UACA,SAMA;GACA,MAAM,oBAAoB,MAAM,gCAC9B,aACF,CAAC,CAAC,kBACA,MACA,MACA,GACA,MACA,QACA,eACA,aACA,QACA,SACA,SACA,QACA,UACA,WACA,cACA,YACA,YACA,UACA,OACA,SACA,UACA,QACA,WACA,gBACA,cACA,QACA,cACA,YACA,IACA,cACA,YACA,cACA,MACA,iBACA,WACA,KACA,YACA,eACA,kBACA,SACA,WACA,aACA,UACA,QACA,OACA,SACA,mBACA,iBACA,mBACA,iBACA,WACA,WACA,UACA,aACA,UACA,OACF;GACA,QACE,QAAuB,aACvB,WAAmB,cAChB;IACH,MAAM,mBAAmB;KACvB,GAAG,kBAAkB;KACrB,KAAK,WAAW,kBAAkB;IACpC;IAC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A,MACA,SACiC;GACjC,OAAO,iBAAiB,aAAa,CAAC,CACnC,iBAAiB,IAAI,MAAM,OAAO,CAAC,CACnC,MAAM,YAAY,QAAQ,OAAO,QAAQ,CAAC;EAC/C;;;;;;;;;EASA,SACE,IACA,UACA,SACgC;GAChC,OAAO,iBAAiB,aAAa,CAAC,CACnC,SAAS,IAAI,UAAU,OAAO,CAAC,CAC/B,MAAM,YAAY,QAAQ,OAAO,QAAQ,CAAC;EAC/C;;;;;;;;EAQA,WACE,QACA,MACA,SACwC;GACxC,OAAO,iBAAiB,aAAa,CAAC,CACnC,WAAW,QAAQ,MAAM,OAAO,CAAC,CACjC,MAAM,YAAY,QAAQ,OAAO,QAAQ,CAAC;EAC/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmCA,iBACE,MACA,MACA,GACA,MACA,QACA,eACA,aACA,QACA,SACA,SACA,QACA,UACA,WACA,cACA,YACA,YACA,UACA,OACA,YACA,UACA,QACA,WACA,gBACA,cACA,QACA,cACA,YACA,cACA,OACA,SAC8B;GAC9B,OAAO,iBAAiB,aAAa,CAAC,CACnC,iBACC,MACA,MACA,GACA,MACA,QACA,eACA,aACA,QACA,SACA,SACA,QACA,UACA,WACA,cACA,YACA,YACA,UACA,OACA,YACA,UACA,QACA,WACA,gBACA,cACA,QACA,cACA,YACA,cACA,OACA,OACF,CAAC,CACA,MAAM,YAAY,QAAQ,OAAO,QAAQ,CAAC;EAC/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6DA,kBACE,MACA,MACA,GACA,MACA,QACA,eACA,aACA,QACA,SACA,SACA,QACA,UACA,WACA,cACA,YACA,YACA,UACA,OACA,SACA,UACA,QACA,WACA,gBACA,cACA,QACA,cACA,YACA,IACA,cACA,YACA,cACA,MACA,iBACA,WACA,KACA,YACA,eACA,kBACA,SACA,WACA,aACA,UACA,QACA,OACA,SACA,mBACA,iBACA,mBACA,iBACA,WACA,WACA,UACA,aACA,UACA,SACqC;GACrC,OAAO,iBAAiB,aAAa,CA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;;;;;;;;;CAUA,iBACE,IACA,MACA,SACA;EACA,OAAO,iBAAiB,KAAK,aAAa,CAAC,CACxC,iBAAiB,IAAI,MAAM,OAAO,CAAC,CACnC,MAAM,YAAY,QAAQ,KAAK,OAAO,KAAK,QAAQ,CAAC;CACzD;;;;;;;;;;CAWA,SAAgB,IAAY,UAAmB,SAAe;EAC5D,OAAO,iBAAiB,KAAK,aAAa,CAAC,CACxC,SAAS,IAAI,UAAU,OAAO,CAAC,CAC/B,MAAM,YAAY,QAAQ,KAAK,OAAO,KAAK,QAAQ,CAAC;CACzD;;;;;;;;;CAUA,WAAkB,QAAgB,MAAc,SAAe;EAC7D,OAAO,iBAAiB,KAAK,aAAa,CAAC,CACxC,WAAW,QAAQ,MAAM,OAAO,CAAC,CACjC,MAAM,YAAY,QAAQ,KAAK,OAAO,KAAK,QAAQ,CAAC;CACzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCA,iBACE,MACA,MACA,GACA,MACA,QACA,eACA,aACA,QACA,SACA,SACA,QACA,UACA,WACA,cACA,YACA,YACA,UACA,OACA,YACA,UACA,QACA,WACA,gBACA,cACA,QACA,cACA,YACA,cACA,OACA,SACA;EACA,OAAO,iBAAiB,KAAK,aAAa,CAAC,CACxC,iBACC,MACA,MACA,GACA,MACA,QACA,eACA,aACA,QACA,SACA,SACA,QACA,UACA,WACA,cACA,YACA,YACA,UACA,OACA,YACA,UACA,QACA,WACA,gBACA,cACA,QACA,cACA,YACA,cACA,OACA,OACF,CAAC,CACA,MAAM,YAAY,QAAQ,KAAK,OAAO,KAAK,QAAQ,CAAC;CACzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+DA,kBACE,MACA,MACA,GACA,MACA,QACA,eACA,aACA,QACA,SACA,SACA,QACA,UACA,WACA,cACA,YACA,YACA,UACA,OACA,SACA,UACA,QACA,WACA,gBACA,cACA,QACA,cACA,YACA,IACA,cACA,YACA,cACA,MACA,iBACA,WACA,KACA,YACA,eACA,kBACA,SACA,WACA,aACA,UACA,QACA,OACA,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A,SACA,SACA,OACF;GACA,QACE,QAAuB,aACvB,WAAmB,cAChB;IACH,MAAM,mBAAmB;KACvB,GAAG,kBAAkB;KACrB,KAAK,WAAW,kBAAkB;IACpC;IACA,OAAO,MAAM,QAAQ,gBAAgB;GACvC;EACF;;;;;;;;;;;;;;;;;;;;;;;EAuBA,MAAM,WACJ,MACA,MACA,GACA,MACA,QACA,IACA,OACA,SACA,SACA,QACA,UACA,UACA,WACA,WACA,QACA,aACA,SAMA;GACA,MAAM,oBAAoB,MAAM,4BAC9B,aACF,CAAC,CAAC,WACA,MACA,MACA,GACA,MACA,QACA,IACA,OACA,SACA,SACA,QACA,UACA,UACA,WACA,WACA,QACA,aACA,OACF;GACA,QACE,QAAuB,aACvB,WAAmB,cAChB;IACH,MAAM,mBAAmB;KACvB,GAAG,kBAAkB;KACrB,KAAK,WAAW,kBAAkB;IACpC;IACA,OAAO,MAAM,QAAQ,gBAAgB;GACvC;EACF;;;;;;;;;;;;;;;;;EAiBA,MAAM,WACJ,QACA,UACA,YACA,OACA,GACA,QACA,QACA,UACA,UACA,aACA,SAMA;GACA,MAAM,oBAAoB,MAAM,4BAC9B,aACF,CAAC,CAAC,WACA,QACA,UACA,YACA,OACA,GACA,QACA,QACA,UACA,UACA,aACA,OACF;GACA,QACE,QAAuB,aACvB,WAAmB,cAChB;IACH,MAAM,mBAAmB;KACvB,GAAG,kBAAkB;KACrB,KAAK,WAAW,kBAAkB;IACpC;IACA,OAAO,MAAM,QAAQ,gBAAgB;GACvC;EACF;;;;;;;;;;;;;;;;;EAiBA,MAAM,YACJ,UACA,QACA,UACA,YACA,OACA,GACA,QACA,QACA,UACA,mBACA,SAMA;GACA,MAAM,oBAAoB,MAAM,4BAC9B,aACF,CAAC,CAAC,YACA,UACA,QACA,UACA,YACA,OACA,GACA,QACA,QACA,UACA,mBACA,OACF;GACA,QACE,QAAuB,aACvB,WAAmB,cAChB;IACH,MAAM,mBAAmB;KACvB,GAAG,kBAAkB;KACrB,KAAK,WAAW,kBAAkB;IACpC;IACA,OAAO,MAAM,QAAQ,gBAAgB;GACvC;EACF;;;;;;;;;;;;;;;;;;;;;;;;EAwBA,MAAM,WACJ,QACA,MACA,MACA,GACA,MACA,QACA,IACA,OACA,SACA,SACA,QACA,UACA,UACA,WACA,WACA,QACA,QACA,SAMA;GACA,MAAM,oBAAoB,MAAM,4BAC9B,aACF,CAAC,CAAC,WACA,QACA,MACA,MACA,GACA,MACA,QACA,IACA,OACA,SACA,SACA,QACA,UACA,UACA,WACA,WACA,QACA,QACA,OACF;GACA,QACE,QAAuB,aACvB,WAAmB,cAChB;IACH,MAAM,mBAAmB;KACvB,GAAG,kBAAkB;KACrB,KAAK,WAAW,kBAAkB;IACpC;IACA,OAAO,MAAM,QAAQ,gBAAgB;GACvC;EACF;CACF;AACF;;;;;AAMA,MAAa,oBAAoB,SAC/B,eACA,UACA,OACA;CACA,OAAO;;;;;;;;;;;;;;;;;EAiBL,aACE,MACA,MACA,GACA,MACA,QACA,IACA,MACA,OACA,SACA,SACA,SACwC;GACxC,OAAO,aAAa,aAAa,CAAC,CAC/B,aACC,MACA,MACA,GACA,MACA,QACA,IACA,MACA,OACA,SACA,SACA,OACF,CAAC,CACA,MAAM,YAAY,QAAQ,OAAO,QAAQ,CAAC;EAC/C;;;;;;;;;;;;;;;;;;;;;;;EAuBA,WACE,MACA,MACA,GACA,MACA,QACA,IACA,OACA,SACA,SACA,QACA,UACA,UACA,WACA,WACA,QACA,aACA,SACsC;GACtC,OAAO,aAAa,aAAa,CAAC,CAC/B,WACC,MACA,MACA,GACA,MACA,QACA,IACA,OACA,SACA,SACA,QACA,UACA,UACA,WACA,WACA,QACA,aACA,OACF,CAAC,CACA,MAAM,YAAY,QAAQ,OAAO,QAAQ,CAAC;EAC/C;;;;;;;;;;;;;;;;;EAiBA,WACE,QACA,UACA,YACA,OACA,GACA,QACA,QACA,UACA,UACA,aACA,SACuC;GACvC,OAAO,aAAa,aAAa,CAAC,CAC/B,WACC,QACA,UACA,YACA,OACA,GACA,QACA,QACA,UACA,UACA,aACA,OACF,CAAC,CACA,MAAM,YAAY,QAAQ,OAAO,QAAQ,CAAC;EAC/C;;;;;;;;;;;;;;;;;EAiBA,YACE,UACA,QACA,UACA,YACA,OACA,GACA,QACA,QACA,UACA,mBACA,SACuC;GACvC,OAAO,aAAa,aAAa,CAAC,CAC/B,YACC,UACA,QACA,UACA,YACA,OACA,GACA,QACA,QACA,UACA,mBACA,OACF,CAAC,CACA,MAAM,YAAY,QAAQ,OAAO,QAAQ,CAAC;EAC/C;;;;;;;;;;;;;;;;;;;;;;;;EAwBA,WACE,QACA,MACA,MACA,GACA,MACA,QACA,IACA,OACA,SACA,SACA,QACA,UACA,UACA,WACA,WACA,QACA,QACA,SACsC;GACtC,OAAO,aAAa,aAAa,CAAC,CAC/B,WACC,QACA,MACA,MACA,GACA,MACA,QACA,IACA,OACA,SACA,SACA,QACA,UACA,UACA,WACA,WACA,QACA,QACA,OACF,CAAC,CACA,MAAM,YAAY,QAAQ,OAAO,QAAQ,CAAC;EAC/C;CACF;AACF;;;;;;;AAQA,IAAa,aAAb,cAAgC,QAAQ;;;;;;;;;;;;;;;;;;CAkBtC,aACE,MACA,MACA,GACA,MACA,QACA,IACA,MACA,OACA,SACA,SACA,SACA;EACA,OAAO,aAAa,KAAK,aAAa,CAAC,CACpC,aACC,MACA,MACA,GACA,MACA,QACA,IACA,MACA,OACA,SACA,SACA,OACF,CAAC,CACA,MAAM,YAAY,QAAQ,KAAK,OAAO,KAAK,QAAQ,CAAC;CACzD;;;;;;;;;;;;;;;;;;;;;;;;CAyBA,WACE,MACA,MACA,GACA,MACA,QACA,IACA,OACA,SACA,SACA,QACA,UACA,UACA,WACA,WACA,QACA,aACA,SACA;EACA,OAAO,aAAa,KAAK,aAAa,CAAC,CACpC,WACC,MACA,MACA,GACA,MACA,QACA,IACA,OACA,SACA,SACA,QACA,UACA,UACA,WACA,WACA,QACA,aACA,OACF,CAAC,CACA,MAAM,YAAY,QAAQ,KAAK,OAAO,KAAK,QAAQ,CAAC;CACzD;;;;;;;;;;;;;;;;;;CAmBA,WACE,QACA,UACA,YACA,OACA,GACA,QACA,QACA,UACA,UACA,aACA,SACA;EACA,OAAO,aAAa,KAAK,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YAAY,UAAU,YAAY,UAAU,CAAC;GAC9D,uBAAuB,UAAU;IAC/B,GAAG;IACH,GAAG;IACH,GAAG,QAAQ;GACb;GAEA,OAAO;IACL,KAAKC,OAAuB,cAAc;IAC1C,SAAS;GACX;EACF;CACF;AACF;;;;;AAMA,MAAa,2BAA2B,SACtC,eACA;CACA,OAAO;;;;;;;;;;;;;;;EAeL,MAAM,sBACJ,WACA,QACA,UACA,YACA,MACA,MACA,GACA,QACA,aACA,SAMA;GACA,MAAM,oBAAoB,MAAM,wCAC9B,aACF,CAAC,CAAC,sBACA,WACA,QACA,UACA,YACA,MACA,MACA,GACA,QACA,aACA,OACF;GACA,QACE,QAAuB,aACvB,WAAmB,cAChB;IACH,MAAM,mBAAmB;KACvB,GAAG,kBAAkB;KACrB,KAAK,WAAW,kBAAkB;IACpC;IACA,OAAO,MAAM,QAAQ,gBAAgB;GACvC;EACF;;;;;;;;;;;;;;;EAeA,MAAM,uBACJ,WACA,UACA,YACA,MACA,MACA,GACA,QACA,QACA,mBACA,SAMA;GACA,MAAM,oBAAoB,MAAM,wCAC9B,aACF,CAAC,CAAC,uBACA,WACA,UACA,YACA,MACA,MACA,GACA,QACA,QACA,mBACA,OACF;GACA,QACE,QAAuB,aACvB,WAAmB,cAChB;IACH,MAAM,mBAAmB;KACvB,GAAG,kBAAkB;KACrB,KAAK,WAAW,kBAAkB;IACpC;IACA,OAAO,MAAM,QAAQ,gBAAgB;GACvC;EACF;CACF;AACF;;;;;AAMA,MAAa,gCAAgC,SAC3C,eACA,UACA,OACA;CACA,OAAO;;;;;;;;;;;;;;;EAeL,sBACE,WACA,QACA,UACA,YACA,MACA,MACA,GACA,QACA,aACA,SACwD;GACxD,OAAO,yBAAyB,aAAa,CAAC,CAC3C,sBACC,WACA,QACA,UACA,YACA,MACA,MACA,GACA,QACA,aACA,OACF,CAAC,CACA,MAAM,YAAY,QAAQ,OAAO,QAAQ,CAAC;EAC/C;;;;;;;;;;;;;;;EAeA,uBACE,WACA,UACA,YACA,MACA,MACA,GACA,QACA,QACA,mBACA,SACwD;GACxD,OAAO,yBAAyB,aAAa,CAA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;;;;;;;;;;;;;;;EAmBA,MAAM,aACJ,YACA,MACA,MACA,QACA,MACA,QACA,UACA,UACA,YACA,IACA,SACA,OACA,GACA,SAMA;GACA,MAAM,oBAAoB,MAAM,8BAC9B,aACF,CAAC,CAAC,aACA,YACA,MACA,MACA,QACA,MACA,QACA,UACA,UACA,YACA,IACA,SACA,OACA,GACA,OACF;GACA,QACE,QAAuB,aACvB,WAAmB,cAChB;IACH,MAAM,mBAAmB;KACvB,GAAG,kBAAkB;KACrB,KAAK,WAAW,kBAAkB;IACpC;IACA,OAAO,MAAM,QAAQ,gBAAgB;GACvC;EACF;;;;;;;;;;;;;;;;;;;EAmBA,MAAM,cACJ,MACA,MACA,QACA,MACA,QACA,UACA,UACA,YACA,YACA,IACA,SACA,OACA,GACA,SAMA;GACA,MAAM,oBAAoB,MAAM,8BAC9B,aACF,CAAC,CAAC,cACA,MACA,MACA,QACA,MACA,QACA,UACA,UACA,YACA,YACA,IACA,SACA,OACA,GACA,OACF;GACA,QACE,QAAuB,aACvB,WAAmB,cAChB;IACH,MAAM,mBAAmB;KACvB,GAAG,kBAAkB;KACrB,KAAK,WAAW,kBAAkB;IACpC;IACA,OAAO,MAAM,QAAQ,gBAAgB;GACvC;EACF;;;;;;;;;;;;;;;;;;;EAmBA,MAAM,cACJ,MACA,MACA,QACA,MACA,QACA,UACA,UACA,YACA,YACA,IACA,SACA,OACA,GACA,SAMA;GACA,MAAM,oBAAoB,MAAM,8BAC9B,aACF,CAAC,CAAC,cACA,MACA,MACA,QACA,MACA,QACA,UACA,UACA,YACA,YACA,IACA,SACA,OACA,GACA,OACF;GACA,QACE,QAAuB,aACvB,WAAmB,cAChB;IACH,MAAM,mBAAmB;KACvB,GAAG,kBAAkB;KACrB,KAAK,WAAW,kBAAkB;IACpC;IACA,OAAO,MAAM,QAAQ,gBAAgB;GACvC;EACF;;;;;;;;;;;;EAYA,MAAM,aACJ,IACA,MACA,MACA,QACA,MACA,GACA,SAMA;GACA,MAAM,oBAAoB,MAAM,8BAC9B,aACF,CAAC,CAAC,aAAa,IAAI,MAAM,MAAM,Q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AAU,YAAY,QAAQ,MAAM,OAAO,CAAC,CACnE,MAAM,YAAY,QAAQ,KAAK,OAAO,KAAK,QAAQ,CAAC;CACzD;;;;;;;;;;;;;;CAeA,aACE,IACA,OACA,UACA,YACA,QACA,MACA,SACA;EACA,OAAO,eAAe,KAAK,aAAa,CAAC,CACtC,aAAa,IAAI,OAAO,UAAU,YAAY,QAAQ,MAAM,OAAO,CAAC,CACpE,MAAM,YAAY,QAAQ,KAAK,OAAO,KAAK,QAAQ,CAAC;CACzD;;;;;;;;;;;;;;;;;;;;CAqBA,aACE,YACA,MACA,MACA,QACA,MACA,QACA,UACA,UACA,YACA,IACA,SACA,OACA,GACA,SACA;EACA,OAAO,eAAe,KAAK,aAAa,CAAC,CACtC,aACC,YACA,MACA,MACA,QACA,MACA,QACA,UACA,UACA,YACA,IACA,SACA,OACA,GACA,OACF,CAAC,CACA,MAAM,YAAY,QAAQ,KAAK,OAAO,KAAK,QAAQ,CAAC;CACzD;;;;;;;;;;;;;;;;;;;;CAqBA,cACE,MACA,MACA,QACA,MACA,QACA,UACA,UACA,YACA,YACA,IACA,SACA,OACA,GACA,SACA;EACA,OAAO,eAAe,KAAK,aAAa,CAAC,CACtC,cACC,MACA,MACA,QACA,MACA,QACA,UACA,UACA,YACA,YACA,IACA,SACA,OACA,GACA,OACF,CAAC,CACA,MAAM,YAAY,QAAQ,KAAK,OAAO,KAAK,QAAQ,CAAC;CACzD;;;;;;;;;;;;;;;;;;;;CAqBA,cACE,MACA,MACA,QACA,MACA,QACA,UACA,UACA,YACA,YACA,IACA,SACA,OACA,GACA,SACA;EACA,OAAO,eAAe,KAAK,aAAa,CAAC,CACtC,cACC,MACA,MACA,QACA,MACA,QACA,UACA,UACA,YACA,YACA,IACA,SACA,OACA,GACA,OACF,CAAC,CACA,MAAM,YAAY,QAAQ,KAAK,OAAO,KAAK,QAAQ,CAAC;CACzD;;;;;;;;;;;;;CAcA,aACE,IACA,MACA,MACA,QACA,MACA,GACA,SACA;EACA,OAAO,eAAe,KAAK,aAAa,CAAC,CACtC,aAAa,IAAI,MAAM,MAAM,QAAQ,MAAM,GAAG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J,IACA,MACA,MACA,QACA,MACA,GACA,MACA,QACA,SAGA;GACA,MAAM,oBAAoB,MAAM,yBAC9B,aACF,CAAC,CAAC,kBACA,IACA,MACA,MACA,QACA,MACA,GACA,MACA,QACA,OACF;GACA,QACE,QAAuB,aACvB,WAAmB,cAChB;IACH,MAAM,mBAAmB;KACvB,GAAG,kBAAkB;KACrB,KAAK,WAAW,kBAAkB;IACpC;IACA,OAAO,MAAM,QAAQ,gBAAgB;GACvC;EACF;;;;;;;;;;;;;;;;;;EAkBA,MAAM,mBACJ,WACA,IACA,MACA,MACA,QACA,MACA,GACA,MACA,QACA,UACA,SACA,UACA,SAMA;GACA,MAAM,oBAAoB,MAAM,yBAC9B,aACF,CAAC,CAAC,mBACA,WACA,IACA,MACA,MACA,QACA,MACA,GACA,MACA,QACA,UACA,SACA,UACA,OACF;GACA,QACE,QAAuB,aACvB,WAAmB,cAChB;IACH,MAAM,mBAAmB;KACvB,GAAG,kBAAkB;KACrB,KAAK,WAAW,kBAAkB;IACpC;IACA,OAAO,MAAM,QAAQ,gBAAgB;GACvC;EACF;;;;;;;;;;;;;;;;;;;EAmBA,MAAM,iBACJ,WACA,IACA,MACA,MACA,QACA,MACA,GACA,UACA,UACA,QACA,SACA,UACA,SAGA;GACA,MAAM,oBAAoB,MAAM,yBAC9B,aACF,CAAC,CAAC,iBACA,WACA,IACA,MACA,MACA,QACA,MACA,GACA,UACA,UACA,QACA,SACA,UACA,OACF;GACA,QACE,QAAuB,aACvB,WAAmB,cAChB;IACH,MAAM,mBAAmB;KACvB,GAAG,kBAAkB;KACrB,KAAK,WAAW,kBAAkB;IACpC;IACA,OAAO,MAAM,QAAQ,gBAAgB;GACvC;EACF;;;;;;;;;EASA,MAAM,kBACJ,WACA,MACA,SAGA;GACA,MAAM,oBAAoB,MAAM,yBAC9B,aACF,CAAC,CAAC,kBAAkB,WAAW,MAAM,OAAO;GAC5C,QACE,QAAuB,aACvB,WAAmB,cAChB;IACH,MAAM,mBAAmB;KACvB,GAAG,kBAAkB;KACrB,KAAK,WAAW,kBAAkB;IACpC;IACA,OAAO,MAAM,QAAQ,gBAAgB;GACvC;EACF;;;;;;;;;;;;;;;EAeA,MAAM,kBACJ,MACA,MACA,QACA,MACA,IACA,GACA,MACA,QACA,SAMA;GACA,MAAM,oBAAoB,MAAM,yBAC9B,aACF,CAAC,CAAC,kBACA,MACA,MACA,QACA,MACA,IACA,GACA,MACA,QACA,OACF;GACA,QACE,QAAuB,aACvB,WAAmB,cAChB;IACH,MAAM,mBAAmB;KACvB,GAAG,kBAAkB;KACrB,KAAK,WAAW,kBAAkB;IACpC;IACA,OAAO,MAAM,QAAQ,gBAAgB;GACvC;EACF;;;;;;;;;;;;;;;;;;EAkBA,MAAM,mBACJ,WACA,MACA,MACA,QACA,MACA,IACA,GACA,MACA,QACA,UACA,SACA,UACA,SAMA;GACA,MAAM,oBAAoB,MAAM,yBAC9B,aACF,CAAC,CAAC,mBACA,WACA,MACA,MACA,QACA,MACA,IACA,GACA,MACA,QACA,UACA,SACA,UACA,OACF;GACA,QACE,QAAuB,aACvB,WAAmB,cAChB;IACH,MAAM,mBAAmB;KACvB,GAAG,kBAAkB;KACrB,KAAK,WAAW,kBAAkB;IACpC;IACA,OAAO,MAAM,QAAQ,gBAAgB;GACvC;EACF;;;;;;;;;;;;;;;;;;;EAmBA,MAAM,iBACJ,WACA,MACA,MACA,QACA,MACA,IACA,GACA,UACA,UACA,QACA,SACA,UACA,SAMA;GACA,MAAM,oBAAoB,MAAM,yBAC9B,aACF,CAAC,CAAC,iBACA,WACA,MACA,MACA,QACA,MACA,IACA,GACA,UACA,UACA,QACA,SACA,UACA,OACF;GACA,QACE,QAAuB,aACvB,WAAmB,cAChB;IACH,MAAM,mBAAmB;KACvB,GAAG,kBAAkB;KACrB,KAAK,WAAW,kBAAkB;IACpC;IACA,OAAO,MAAM,QAAQ,gBAAgB;GACvC;EACF;;;;;;;;;EASA,MAAM,kBACJ,WACA,MACA,SAGA;GACA,MAAM,oBAAoB,MAAM,yBAC9B,aACF,CAAC,CAAC,kBAAkB,WAAW,MAAM,OAAO;GAC5C,QACE,QAAuB,aACvB,WAAmB,cAChB;IACH,MAAM,mBAAmB;KACvB,GAAG,kBAAkB;KACrB,KAAK,WAAW,kBAAkB;IACpC;IACA,OAAO,MAAM,QAAQ,gBAAgB;GACvC;EACF;;;;;;;;;EASA,MAAM,mBACJ,WACA,MACA,SAGA;GACA,MAAM,oBAAoB,MAAM,yBAC9B,aACF,CAAC,CAAC,mBAAmB,WAAW,MAAM,OAAO;GAC7C,QACE,QAAuB,aACvB,WAAmB,cAChB;IACH,MAAM,mBAAmB;KACvB,GAAG,kBAAkB;KACrB,KAAK,WAAW,kBAAkB;IACpC;IACA,OAAO,MAAM,QAAQ,gBAAgB;GACvC;EACF;;;;;;;;;EASA,MAAM,mBACJ,mBACA,YACA,MACA,SAMA;GACA,MAAM,oBAAoB,MAAM,yBAC9B,aACF,CAAC,CAAC,mBAAmB,mBAAmB,YAAY,MAAM,OAAO;GACjE,QACE,QAAuB,aACvB,WAAmB,cAChB;IACH,MAAM,mBAAmB;KACvB,GAAG,kBAAkB;KACrB,KAAK,WAAW,kBAAkB;IACpC;IACA,OAAO,MAAM,QAAQ,gBAAgB;GACvC;EACF;;;;;;;;;EASA,MAAM,oBACJ,mBACA,YACA,MACA,SAMA;GACA,MAAM,oBAAoB,MAAM,yBAC9B,aACF,CAAC,CAAC,oBAAoB,mBAAmB,YAAY,MAAM,OAAO;GAClE,QACE,QAAuB,aACvB,WAAmB,cAChB;IACH,MAAM,mBAAmB;KACvB,GAAG,kBAAkB;KACrB,KAAK,WAAW,kBAAkB;IACpC;IACA,OAAO,MAAM,QAAQ,gBAAgB;GACvC;EACF;CACF;AACF;;;;;AAMA,MAAa,iBAAiB,SAC5B,eACA,UACA,OACA;CACA,OAAO;;;;;;;;EAQL,kBACE,MACA,SAC8B;GAC9B,OAAO,UAAU,aAAa,CAAC,CAC5B,kBAAkB,MAAM,OAAO,CAAC,CAChC,MAAM,YAAY,QAAQ,OAAO,QAAQ,CAAC;EAC/C;;;;;;;;EAQA,mBACE,WACA,MACA,SAC+B;GAC/B,OAAO,UAAU,aAAa,CAAC,CAC5B,mBAAmB,WAAW,MAAM,OAAO,CAAC,CAC5C,MAAM,YAAY,QAAQ,OAAO,QAAQ,CAAC;EAC/C;;;;;;;;;EASA,kBACE,IACA,gBACA,SAC8B;GAC9B,OAAO,UAAU,aAAa,CAAC,CAC5B,kBAAkB,IAAI,gBAAgB,OAAO,CAAC,CAC9C,MAAM,YAAY,QAAQ,OAAO,QAAQ,CAAC;EAC/C;;;;;;;;EAQA,mBACE,MACA,SAC8B;GAC9B,OAAO,UAAU,aAAa,CAAC,CAC5B,mBAAmB,MAAM,OAAO,CAAC,CACjC,MAAM,YAAY,QAAQ,OAAO,QAAQ,CAAC;EAC/C;;;;;;;;;EASA,mBACE,WACA,IACA,MACA,SACuC;GACvC,OAAO,UAAU,aAAa,CAAC,CAC5B,mBAAmB,WAAW,IAAI,MAAM,OAAO,CAAC,CAChD,MAAM,YAAY,QAAQ,OAAO,QAAQ,CAAC;EAC/C;;;;;;;;EAQA,oBACE,WACA,MACA,SACuC;GACvC,OAAO,UAAU,aAAa,CAAC,CAC5B,oBAAoB,WAAW,MAAM,OAAO,CAAC,CAC7C,MAAM,YAAY,QAAQ,OAAO,QAAQ,CAAC;EAC/C;;;;;;;;;EASA,WACE,WACA,MACA,SACqC;GACrC,OAAO,UAAU,aAAa,CAAC,CAC5B,WAAW,WAAW,MAAM,OAAO,CAAC,CACpC,MAAM,YAAY,QAAQ,OAAO,QAAQ,CAAC;EAC/C;;;;;;;;;;;;;;;;;;;;;EAqBA,YACE,WACA,KACA,QACA,MACA,UACA,UACA,YACA,OACA,cACA,WACA,WACA,WACA,QACA,YACA,SACqC;GACrC,OAAO,UAAU,aAAa,CAAC,CAC5B,YACC,WACA,KACA,QACA,MACA,UACA,UACA,YACA,OACA,cACA,WACA,WACA,WACA,QACA,YACA,OACF,CAAC,CACA,MAAM,YAAY,QAAQ,OAAO,QAAQ,CAAC;EAC/C;;;;;;;;EAQA,YACE,MACA,SACqC;GACrC,OAAO,UAAU,aAAa,CAAC,CAC5B,YAAY,MAAM,OAAO,CAAC,CAC1B,MAAM,YAAY,QAAQ,OAAO,QAAQ,CAAC;EAC/C;;;;;;;;;;;;;;;;;;;;;EAqBA,YACE,WACA,KACA,QACA,MACA,UACA,UACA,YACA,OACA,cACA,WACA,WACA,WACA,QACA,YACA,SACqC;GACrC,OAAO,UAAU,aAAa,CAAC,CAC5B,YACC,WACA,KACA,QACA,MACA,UACA,UACA,YACA,OACA,cACA,WACA,WACA,WACA,QACA,YACA,OACF,CAAC,CACA,MAAM,YAAY,QAAQ,OAAO,QAAQ,CAAC;EAC/C;;;;;;;;;;;;;;;EAeA,kBACE,IACA,MACA,MACA,QACA,MACA,GACA,MACA,QACA,SAC8B;GAC9B,OAAO,UAAU,aAAa,CAAC,CAC5B,kBACC,IACA,MACA,MACA,QACA,MACA,GACA,MACA,QACA,OACF,CAAC,CACA,MAAM,YAAY,QAAQ,OAAO,QAAQ,CAAC;EAC/C;;;;;;;;;;;;;;;;;;EAkBA,mBACE,WACA,IACA,MACA,MACA,QACA,MACA,GACA,MACA,QACA,UACA,SACA,UACA,SAC+B;GAC/B,OAAO,UAAU,aAAa,CAAC,CAC5B,mBACC,WACA,IACA,MACA,MACA,QACA,MACA,GACA,MACA,QACA,UACA,SACA,UACA,OACF,CAAC,CACA,MAAM,YAAY,QAAQ,OAAO,QAAQ,CAAC;EAC/C;;;;;;;;;;;;;;;;;;;EAmBA,iBACE,WACA,IACA,MACA,MACA,QACA,MACA,GACA,UACA,UACA,QACA,SACA,UACA,SAC6B;GAC7B,OAAO,UAAU,aAAa,CAAC,CAC5B,iBACC,WACA,IACA,MACA,MACA,QACA,MACA,GACA,UACA,UACA,QACA,SACA,UACA,OACF,CAAC,CACA,MAAM,YAAY,QAAQ,OAAO,QAAQ,CAAC;EAC/C;;;;;;;;;EASA,kBACE,WACA,MACA,SAC6B;GAC7B,OAAO,UAAU,aAAa,CAAC,CAC5B,kBAAkB,WAAW,MAAM,OAAO,CAAC,CAC3C,MAAM,YAAY,QAAQ,OAAO,QAAQ,CAAC;EAC/C;;;;;;;;;;;;;;;EAeA,kBACE,MACA,MACA,QACA,MACA,IACA,GACA,MACA,QACA,SACqC;GACrC,OAAO,UAAU,aAAa,CAAC,CAC5B,kBACC,MACA,MACA,QACA,MACA,IACA,GACA,MACA,QACA,OACF,CAAC,CACA,MAAM,YAAY,QAAQ,OAAO,QAAQ,CAAC;EAC/C;;;;;;;;;;;;;;;;;;EAkBA,mBACE,WACA,MACA,MACA,QACA,MACA,IACA,GACA,MACA,QACA,UACA,SACA,UACA,SACuC;GACvC,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B,aACF,CAAC,CAAC,oBACA,UACA,MACA,MACA,GACA,MACA,QACA,QACA,QACA,QACA,UACA,QACA,OACF;GACA,QACE,QAAuB,aACvB,WAAmB,cAChB;IACH,MAAM,mBAAmB;KACvB,GAAG,kBAAkB;KACrB,KAAK,WAAW,kBAAkB;IACpC;IACA,OAAO,MAAM,QAAQ,gBAAgB;GACvC;EACF;;;;;;;;;;;;;;;;;;EAkBA,MAAM,oBACJ,QAiBA,UACA,MACA,MACA,GACA,MACA,QACA,QAGA,QACA,QACA,UACA,QACA,SAGA;GACA,MAAM,oBAAoB,MAAM,kCAC9B,aACF,CAAC,CAAC,oBACA,QACA,UACA,MACA,MACA,GACA,MACA,QACA,QACA,QACA,QACA,UACA,QACA,OACF;GACA,QACE,QAAuB,aACvB,WAAmB,cAChB;IACH,MAAM,mBAAmB;KACvB,GAAG,kBAAkB;KACrB,KAAK,WAAW,kBAAkB;IACpC;IACA,OAAO,MAAM,QAAQ,gBAAgB;GACvC;EACF;;;;;;;;;;;;;;;;;EAiBA,MAAM,kBACJ,QACA,MACA,MACA,GACA,MACA,QACA,UACA,QAGA,QACA,UACA,QACA,SAGA;GACA,MAAM,oBAAoB,MAAM,kCAC9B,aACF,CAAC,CAAC,kBACA,QACA,MACA,MACA,GACA,MACA,QACA,UACA,QACA,QACA,UACA,QACA,OACF;GACA,QACE,QAAuB,aACvB,WAAmB,cAChB;IACH,MAAM,mBAAmB;KACvB,GAAG,kBAAkB;KACrB,KAAK,WAAW,kBAAkB;IACpC;IACA,OAAO,MAAM,QAAQ,gBAAgB;GACvC;EACF;CACF;AACF;;;;;AAMA,MAAa,0BAA0B,SACrC,eACA,UACA,OACA;CACA,OAAO;;;;;;;;;;;;;;;;;EAiBL,oBACE,UACA,MACA,MACA,GACA,MACA,QACA,QACA,QAGA,QACA,UACA,QACA,SAC0B;GAC1B,OAAO,mBAAmB,aAAa,CAAC,CACrC,oBACC,UACA,MACA,MACA,GACA,MACA,QACA,QACA,QACA,QACA,UACA,QACA,OACF,CAAC,CACA,MAAM,YAAY,QAAQ,OAAO,QAAQ,CAAC;EAC/C;;;;;;;;;;;;;;;;;;EAkBA,oBACE,QAiBA,UACA,MACA,MACA,GACA,MACA,QACA,QAGA,QACA,QACA,UACA,QACA,SAC0B;GAC1B,OAAO,mBAAmB,aAAa,CAAC,CACrC,oBACC,QACA,UACA,MACA,MACA,GACA,MACA,QACA,QACA,QACA,QACA,UACA,QACA,OACF,CAAC,CACA,MAAM,YAAY,QAAQ,OAAO,QAAQ,CAAC;EAC/C;;;;;;;;;;;;;;;;;EAiBA,kBACE,QACA,MACA,MACA,GACA,MACA,QACA,UACA,QAGA,QACA,UACA,QACA,SAC0B;GAC1B,OAAO,mBAAmB,aAAa,CAAC,CACrC,kBACC,QACA,MACA,MACA,GACA,MACA,QACA,UACA,QACA,QACA,UACA,QACA,OACF,CAAC,CACA,MAAM,YAAY,QAAQ,OAAO,QAAQ,CAAC;EAC/C;CACF;AACF;;;;;;;AAQA,IAAa,mBAAb,cAAsC,QAAQ;;;;;;;;;;;;;;;;;;CAkB5C,oBACE,UACA,MACA,MACA,GACA,MACA,QACA,QACA,QAGA,QACA,UACA,QACA,SACA;EACA,OAAO,mBAAmB,KAAK,aAAa,CAAC,CAC1C,oBACC,UACA,MACA,MACA,GACA,MACA,QACA,QACA,QACA,QACA,UACA,QACA,OACF,CAAC,CACA,MAAM,YAAY,QAAQ,KAAK,OAAO,KAAK,QAAQ,CAAC;CACzD;;;;;;;;;;;;;;;;;;;CAoBA,oBACE,QAiBA,UACA,MACA,MACA,GACA,MACA,QACA,QAGA,QACA,QACA,UACA,QACA,SACA;EACA,OAAO,mBAAmB,KAAK,aAAa,CAAC,CAC1C,oBACC,QACA,UACA,MACA,MACA,GACA,MACA,QACA,QACA,QACA,QACA,UACA,QACA,OACF,CAAC,CACA,MAAM,YAAY,QAAQ,KAAK,OAAO,KAAK,QAAQ,CAAC;CACzD;;;;;;;;;;;;;;;;;;CAmBA,kBACE,QACA,MACA,MACA,GACA,MACA,QACA,UACA,QAGA,QACA,UACA,QACA,SACA;EACA,OAAO,mBAAmB,KAAK,aAAa,CAAC,CAC1C,kBACC,QACA,MACA,MACA,GACA,MACA,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AC9B,aACF,CAAC,CAAC,eACA,MACA,MACA,GACA,MACA,QACA,cACA,YACA,IACA,SACA,UACA,UACA,SACA,QACA,eACA,aACA,gBACA,cACA,cACA,YACA,gBACA,OACF;GACA,QACE,QAAuB,aACvB,WAAmB,cAChB;IACH,MAAM,mBAAmB;KACvB,GAAG,kBAAkB;KACrB,KAAK,WAAW,kBAAkB;IACpC;IACA,OAAO,MAAM,QAAQ,gBAAgB;GACvC;EACF;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BA,MAAM,sBACJ,MACA,MACA,GACA,MACA,QACA,cACA,YACA,IACA,SACA,UACA,UACA,SACA,QACA,eACA,aACA,gBACA,cACA,cACA,YACA,gBACA,SAMA;GACA,MAAM,oBAAoB,MAAM,kCAC9B,aACF,CAAC,CAAC,sBACA,MACA,MACA,GACA,MACA,QACA,cACA,YACA,IACA,SACA,UACA,UACA,SACA,QACA,eACA,aACA,gBACA,cACA,cACA,YACA,gBACA,OACF;GACA,QACE,QAAuB,aACvB,WAAmB,cAChB;IACH,MAAM,mBAAmB;KACvB,GAAG,kBAAkB;KACrB,KAAK,WAAW,kBAAkB;IACpC;IACA,OAAO,MAAM,QAAQ,gBAAgB;GACvC;EACF;;;;;;;;;;EAUA,MAAM,qBACJ,SACA,UACA,UACA,SAMA;GACA,MAAM,oBAAoB,MAAM,kCAC9B,aACF,CAAC,CAAC,qBAAqB,SAAS,UAAU,UAAU,OAAO;GAC3D,QACE,QAAuB,aACvB,WAAmB,cAChB;IACH,MAAM,mBAAmB;KACvB,GAAG,kBAAkB;KACrB,KAAK,WAAW,kBAAkB;IACpC;IACA,OAAO,MAAM,QAAQ,gBAAgB;GACvC;EACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BA,MAAM,oBACJ,SACA,MACA,MACA,GACA,MACA,QACA,IACA,UACA,aACA,eACA,aACA,gBACA,cACA,WACA,cACA,YACA,MACA,cACA,YACA,SACA,iBACA,SAMA;GACA,MAAM,oBAAoB,MAAM,kCAC9B,aACF,CAAC,CAAC,oBACA,SACA,MACA,MACA,GACA,MACA,QACA,IACA,UACA,aACA,eACA,aACA,gBACA,cACA,WACA,cACA,YACA,MACA,cACA,YACA,SACA,iBACA,OACF;GACA,QACE,QAAuB,aACvB,WAAmB,cAChB;IACH,MAAM,mBAAmB;KACvB,GAAG,kBAAkB;KACrB,KAAK,WAAW,kBAAkB;IACpC;IACA,OAAO,MAAM,QAAQ,gBAAgB;GACvC;EACF;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BA,MAAM,cACJ,MACA,MACA,GACA,MACA,QACA,IACA,SACA,UACA,aACA,eACA,aACA,gBACA,cACA,WACA,cACA,YACA,MACA,cACA,YACA,SACA,SAMA;GACA,MAAM,oBAAoB,MAAM,kCAC9B,aACF,CAAC,CAAC,cACA,MACA,MACA,GACA,MACA,QACA,IACA,SACA,UACA,aACA,eACA,aACA,gBACA,cACA,WACA,cACA,YACA,MACA,cACA,YACA,SACA,OACF;GACA,QACE,QAAuB,aACvB,WAAmB,cAChB;IACH,MAAM,mBAAmB;KACvB,GAAG,kBAAkB;KACrB,KAAK,WAAW,kBAAkB;IACpC;IACA,OAAO,MAAM,QAAQ,gBAAgB;GACvC;EACF;;;;;;;;;;EAUA,MAAM,aACJ,SACA,IACA,MACA,SAMA;GACA,MAAM,oBAAoB,MAAM,kCAC9B,aACF,CAAC,CAAC,aAAa,SAAS,IAAI,MAAM,OAAO;GACzC,QACE,QAAuB,aACvB,WAAmB,cAChB;IACH,MAAM,mBAAmB;KACvB,GAAG,kBAAkB;KACrB,KAAK,WAAW,kBAAkB;IACpC;IACA,OAAO,MAAM,QAAQ,gBAAgB;GACvC;EACF;CACF;AACF;;;;;AAMA,MAAa,0BAA0B,SACrC,eACA,UACA,OACA;CACA,OAAO;;;;;;;;EAQL,gBACE,WACA,MACA,SAC2C;GAC3C,OAAO,mBAAmB,aAAa,CAAC,CACrC,gBAAgB,WAAW,MAAM,OAAO,CAAC,CACzC,MAAM,YAAY,QAAQ,OAAO,QAAQ,CAAC;EAC/C;;;;;;;;;;EAUA,cACE,SACA,UACA,WACA,MACA,SAC2C;GAC3C,OAAO,mBAAmB,aAAa,CAAC,CACrC,cAAc,SAAS,UAAU,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;;;;;;;;;EAUA,qBACE,SACA,UACA,UACA,SACuC;GACvC,OAAO,mBAAmB,aAAa,CAAC,CACrC,qBAAqB,SAAS,UAAU,UAAU,OAAO,CAAC,CAC1D,MAAM,YAAY,QAAQ,OAAO,QAAQ,CAAC;EAC/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BA,oBACE,SACA,MACA,MACA,GACA,MACA,QACA,IACA,UACA,aACA,eACA,aACA,gBACA,cACA,WACA,cACA,YACA,MACA,cACA,YACA,SACA,iBACA,SACgC;GAChC,OAAO,mBAAmB,aAAa,CAAC,CACrC,oBACC,SACA,MACA,MACA,GACA,MACA,QACA,IACA,UACA,aACA,eACA,aACA,gBACA,cACA,WACA,cACA,YACA,MACA,cACA,YACA,SACA,iBACA,OACF,CAAC,CACA,MAAM,YAAY,QAAQ,OAAO,QAAQ,CAAC;EAC/C;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BA,cACE,MACA,MACA,GACA,MACA,QACA,IACA,SACA,UACA,aACA,eACA,aACA,gBACA,cACA,WACA,cACA,YACA,MACA,cACA,YACA,SACA,SACgC;GAChC,OAAO,mBAAmB,aAAa,CAAC,CACrC,cACC,MACA,MACA,GACA,MACA,QACA,IACA,SACA,UACA,aACA,eACA,aACA,gBACA,cACA,WACA,cACA,YACA,MACA,cACA,YACA,SACA,OACF,CAAC,CACA,MAAM,YAAY,QAAQ,OAAO,QAAQ,CAAC;EAC/C;;;;;;;;;;EAUA,aACE,SACA,IACA,MACA,SACmC;GACnC,OAAO,mBAAmB,aAAa,CAAC,CACrC,aAAa,SAAS,IAAI,MAAM,OAAO,CAAC,CACxC,MAAM,YAAY,QAAQ,OAAO,QAAQ,CAAC;EAC/C;CACF;AACF;;;;;;;AAQA,IAAa,mBAAb,cAAsC,QAAQ;;;;;;;;;CAS5C,gBACE,WACA,MACA,SACA;EACA,OAAO,mBAAmB,KAAK,aAAa,CAAC,CAC1C,gBAAgB,WAAW,MAAM,OAAO,CAAC,CACzC,MAAM,YAAY,QAAQ,KAAK,OAAO,KAAK,QAAQ,CAAC;CACzD;;;;;;;;;;;CAYA,cACE,SACA,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CA,IACA,SACA,UACA,UACA,SACA,QACA,eACA,aACA,gBACA,cACA,cACA,YACA,gBACA,SACA;EACA,OAAO,mBAAmB,KAAK,aAAa,CAAC,CAC1C,sBACC,MACA,MACA,GACA,MACA,QACA,cACA,YACA,IACA,SACA,UACA,UACA,SACA,QACA,eACA,aACA,gBACA,cACA,cACA,YACA,gBACA,OACF,CAAC,CACA,MAAM,YAAY,QAAQ,KAAK,OAAO,KAAK,QAAQ,CAAC;CACzD;;;;;;;;;;;CAYA,qBACE,SACA,UACA,UACA,SACA;EACA,OAAO,mBAAmB,KAAK,aAAa,CAAC,CAC1C,qBAAqB,SAAS,UAAU,UAAU,OAAO,CAAC,CAC1D,MAAM,YAAY,QAAQ,KAAK,OAAO,KAAK,QAAQ,CAAC;CACzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BA,oBACE,SACA,MACA,MACA,GACA,MACA,QACA,IACA,UACA,aACA,eACA,aACA,gBACA,cACA,WACA,cACA,YACA,MACA,cACA,YACA,SACA,iBACA,SACA;EACA,OAAO,mBAAmB,KAAK,aAAa,CAAC,CAC1C,oBACC,SACA,MACA,MACA,GACA,MACA,QACA,IACA,UACA,aACA,eACA,aACA,gBACA,cACA,WACA,cACA,YACA,MACA,cACA,YACA,SACA,iBACA,OACF,CAAC,CACA,MAAM,YAAY,QAAQ,KAAK,OAAO,KAAK,QAAQ,CAAC;CACzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BA,cACE,MACA,MACA,GACA,MACA,QACA,IACA,SACA,UACA,aACA,eACA,aACA,gBACA,cACA,WACA,cACA,YACA,MACA,cACA,YACA,SACA,SACA;EACA,OAAO,mBAAmB,KAAK,aAAa,CAAC,CAC1C,cACC,MACA,MACA,GACA,MACA,QACA,IACA,SACA,UACA,aACA,eACA,aACA,gBACA,cACA,WACA,cACA,YACA,MACA,cACA,YACA,SACA,OACF,CAAC,CACA,MAAM,YAAY,QAAQ,KAAK,OAAO,KAAK,QAAQ,CAAC;CACzD;;;;;;;;;;;CAYA,aACE,SACA,IACA,MACA,SACA;EA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A,MAAM,OACJ,GACA,IACA,MACA,MACA,MACA,UACA,YACA,YACA,UACA,cACA,MACA,MACA,MACA,QACA,SAMA;GACA,MAAM,oBAAoB,MAAM,0BAC9B,aACF,CAAC,CAAC,OACA,GACA,IACA,MACA,MACA,MACA,UACA,YACA,YACA,UACA,cACA,MACA,MACA,MACA,QACA,OACF;GACA,QACE,QAAuB,aACvB,WAAmB,cAChB;IACH,MAAM,mBAAmB;KACvB,GAAG,kBAAkB;KACrB,KAAK,WAAW,kBAAkB;IACpC;IACA,OAAO,MAAM,QAAQ,gBAAgB;GACvC;EACF;CACF;AACF;;;;;AAMA,MAAa,kBAAkB,SAC7B,eACA,UACA,OACA;CACA,OAAO;;;;;;;;EAQL,OAAO,MAAc,SAAqD;GACxE,OAAO,WAAW,aAAa,CAAC,CAC7B,OAAO,MAAM,OAAO,CAAC,CACrB,MAAM,YAAY,QAAQ,OAAO,QAAQ,CAAC;EAC/C;;;;;;;;;;;;;;;;;;;;;EAqBA,OACE,GACA,IACA,MACA,MACA,MACA,UACA,YACA,YACA,UACA,cACA,MACA,MACA,MACA,QACA,SAC0C;GAC1C,OAAO,WAAW,aAAa,CAAC,CAC7B,OACC,GACA,IACA,MACA,MACA,MACA,UACA,YACA,YACA,UACA,cACA,MACA,MACA,MACA,QACA,OACF,CAAC,CACA,MAAM,YAAY,QAAQ,OAAO,QAAQ,CAAC;EAC/C;CACF;AACF;;;;;;;AAQA,IAAa,WAAb,cAA8B,QAAQ;;;;;;;;;CASpC,OAAc,MAAc,SAAe;EACzC,OAAO,WAAW,KAAK,aAAa,CAAC,CAClC,OAAO,MAAM,OAAO,CAAC,CACrB,MAAM,YAAY,QAAQ,KAAK,OAAO,KAAK,QAAQ,CAAC;CACzD;;;;;;;;;;;;;;;;;;;;;;CAuBA,OACE,GACA,IACA,MACA,MACA,MACA,UACA,YACA,YACA,UACA,cACA,MACA,MACA,MACA,QACA,SACA;EACA,OAAO,WAAW,KAAK,aAAa,CAAC,CAClC,OACC,GACA,IACA,MACA,MACA,MACA,UACA,YACA,YACA,UACA,cACA,MACA,MACA,MACA,QACA,OACF,C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"}